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

[059] Excel 계산작업 - 배열수식으로 AVERAGE를 이용할 때 IF를 사용하지 않으면 왜 값이 이상하게 나오는가

Page T 2014. 8. 15. 16:22
728x90
반응형



배열수식으로 AVERAGE 함수를 이용할 때는 보통 IF 함수도 함께 사용되는데,

굳이 왜 IF 함수를 사용하여 배열수식을 작성해야하는지 궁금해하시는 분들이 종종 계십니다.


그 이유는 IF 함수를 사용할 때와 사용하지 않을 때 결과 값이 다르게 나오기 때문인데,

이유를 함께 알아보도록 하겠습니다.



비디오 품번이 17호인 가격의 평균을 구하고 싶은 상황입니다.

먼저 IF 함수를 사용한 배열수식으로 값을 나타내면

표 2와 같은 값이 나오고







IF 함수를 제외하고 배열수식을 작성해 보면

평균이 다른 값으로 나옵니다.


결론부터 이야기하자면 

IF 함수를 사용한 AVERAGE 배열수식이 정답입니다.


왜 그런지 알아보겠습니다.







먼저 IF 함수를 사용한 AVERAGE 배열수식 부터 알아봅시다.


빨간 박스의 의미는

'만일 [표 1]에서 17호를 찾았으면 17호의 가격을 출력하고

아니라면 값을 생략해버려라'

라는 의미입니다.


즉 빨간 박스의 수식을 통해 결과적으로

10000, 32000, 52000 이 AVERAGE 함수의 인수로 들어올 것이고

결과 값은

AVERAGE ( 10000, 32000, 52000 ) 이 될 것입니다.


10000+32000+52000 = 94000

94000 나누기 3 은 31333.33333....

그러므로 답은 31333.33333....







다음은 IF 함수가 없는 AVERAGE 배열수식입니다.


초록 박스는 [표 1]의 목록에서 

품번이 17호인 항목과 17호가 아닌 항목을 찾아

TRUE 값과 FALSE 값을 줍니다.


여기서 중요한 것은

FALSE에도 값을 준다는 것입니다.

(*IF 함수는 FALSE일 때 값을 생략했었습니다.)


FALSE의 값은 0이므로

0인 FALSE 값은 TRUE와 마찬가지로

주황색 박스에 곱해집니다.


그러므로 각 항목의 전체 값은

( 0, 10000, 0, 32000, 0, 0, 0, 0, 0, 0, 52000 ) 이 될 것입니다.

AVERAGE 는 인수로 11개의 인수를 받게되고

결과값은 AVERAGE( 0, 10000, 0, 32000, 0, 0, 0, 0, 0, 0, 52000 )이 될 것입니다.


인수의 합은 94000으로 IF 함수일 때와 동일하지만

인수의 개수가 11개이기때문에 평균으로 나눌 값은 11이 됩니다.

이 부분에서 IF 함수를 사용했을 때와의 차이점이 나오는 것입니다.


즉, 구해지는 평균 값이 

94000 나누기 3이 아니라 

94000 나누기 11이 되어서 

정상적인 값을 출력하지 못하는 것입니다.

728x90
반응형