강의 및 공부/엑셀실기 강의 [완료]

[056] Excel 계산작업 - 연산식을 DATABASE 함수에 참조해야 할 경우

Page T 2014. 8. 15. 14:48
728x90
반응형



컴활 1급에서 출제자는 조금 더 복잡한 DATABASE 함수 문제를 출제하기 위해

수험자에게 직접 연산식을 작성하라고 하는 경우도 있습니다.


밑에 사진을 보겠습니다.



데이터베이스(표1) 에서

판매가의 50%가 7500 이상인 항목의 개수를 

구해야 하는 상황이라고 해봅시다.


3 번째 인수인 criteria를 추출해야 할 부분이 비어있으므로

그 부분을 먼저 채우도록 합니다.


판매가의 50%가 7500 이상인 항목을 

구하여야 한다고 했으므로

[표 1]의 '판매가' 필드를 기준(criteria)으로 삼아야 할 것입니다.







세부적으로는

'판매가' 필드에 있는 값을 2로 나누었을 때 7500 이상이 되는 항목을 

찾아야 하는 것이므로

이에 맞는 연산식을 사용하여

세부기준을 만족시키도록 합니다.







판매가가 FALSE라는 것은

연산식을 사용한 D4 셀의 값이 7500 이상이 안된다는 의미입니다.


이 연산식은

DCOUNTA 함수의 criteria 인수에 추가될 항목으로서

데이터베이스 쪽 '판매가' 필드(빨간 박스)의 항목들에

적용됩니다.






DCOUNTA 함수를 사용하여

인수를 모두 입력하고 엔터를 누르면








값이 안나옵니다.

왜냐하면

데이터베이스의 필드명(왼쪽 빨간 박스의 '판매가')과 

기준의 필드명(오른쪽 빨간 박스의'판매가')이 같을 때에

DATABASE 함수는 

문자로 인식된 값 만을 가져오기 때문입니다.


즉, 지금 엑셀은

위 표 판매가 필드에서

연산식이 적용된 값을 

가져오는것이 아니라


연산식 그 자체를 가져옵니다.

즉,

 =D4/2>=7500 이라는 값 자체를 수식이 아닌 문자로 인식해서

이 문자와 같은 문자가 있는지를 찾아본다는 것입니다.


이러한 현상을 피하기 위해서

[표 2] '판매가' 부분의 필드 명을 삭제하거나 

[표 1] 필드명과 다르게 설정해야 합니다.


*단, 범위는 그대로 지정해 놓고 있어야 한다는 것에 주의합시다.


그러면 연산식(표 2의 주황 박스)이 제대로 실행됩니다.

해당 연산식은  표 1의 주황 박스를 범위로 하여

연산식에 일치하는 값의 개수를 찾아낼 것입니다.







정상적으로 값이 출력되었습니다.


그러므로, 데이터베이스 함수에 연산식이 포함된다면

미리 필드명을 없애든지 바꾸든지 해 놓는것이 좋을 것입니다.


위 내용은 Excel 기본작업 고급필터에서도 종종 사용되는 개념이므로

확실하게 알아둡시다.

728x90
반응형