안녕하세요.
질문을 몇 번 올렸는데 그때마다 정확하게 답변해 주셔서 늘 감사하고 있습니다 ^^
461페이지 3번문제에서
답을 아래처럼 적었는데
=MAX(($B$12:$B$27=$A3)*($F$12:$F$27))-AVERAGE(($B$12:$B$27=$A3)*($F$12:$F$27)
답을 보니 IF를 섞어서 답을 쓰더군요.
게시판을 검색해보니까 비슷한 질문에
평균값이 186,503이 나왔어요.
if문을 입력할때 if(B11:B29=B3,G11:G29)처럼 작성하는 것은 조건이 거짓일 경우 "반환할 값"이 생략 (if(B11:B29=B3,G11:G29,"반환할 값"))된 것으로, if(B11:B29=B3,G11:G29,"")과 같이 조건의 값이 거짓일 때 이론적으로 아무값도 없는 NULL값을 반환 하라는 뜻입니다. NULL값이 반환되면 아무것도 없는 것이기 떄문에 AVERAGE 함수의 배열요소에서 제외 됩니다. 그런데 만약 배열 수식을 AVERAGE(IF(B11:B29=B3,G11:G29,0)이나 AVERAGE((B11:B29=B3)*(G11:G29)와 같이 작성하면 조건이 거짓일때 0이 AVERAGE함수로 포함되어 평균이 계산 되는 것입니다. 즉 ''=AVERAGE(550000.1650000,4000000,165000,770000)'' 와 ''=AVERAGE(550000.1650000,4000000,165000,770000,0...)''''의 차이겠죠. 같은 이유로 MIN, MEDIAN,SMALL 등의 함수도 반드시 IF문과 함께 사용해야 합니다.
문제에서 if 문까지 쓰라고 한다면 if문을 꼭 쓰셔야 하구요. 그렇지 않다면 if문을 생략 하셔도 상관 없습니다. 하지만 위의 설명과 같다는 것은 꼭 생각해 두셔야 합니다.
이렇게 답변해 주셨던데
그럼 average,median,small,min 등은 조건을 달 땐
무조건, 100% *이 아닌 IF만을 사용해야 하나요? 배열수식 안 쓸 때도?
그리고 이처럼 조건을 달 때 IF를 사용해야만 하는 그 밖의 함수가 궁금합니다~
어느덧 설 연휴라 답변은 늦을지 모르겠지만 ㅜ.ㅜ
새해 복 많이 받으시고 언제나 감사합니다 ^^
if 를 사용하지 않았을때
조건이 거짓일때의 값이 포함되므로 정확한 값이 나오지 않는 것입니다.
배열 수식을 사용하지 않을때는 상관이 없습니다.
배열 수식에서는 if와 함께 사용되어야만 정확한 값이 나온다는 것을 알고 계시면 될 것 같습니다.
좋은 하루 되세요.
"-
*2013-02-13 07:52:54
if 를 사용하지 않았을때
조건이 거짓일때의 값이 포함되므로 정확한 값이 나오지 않는 것입니다.
배열 수식을 사용하지 않을때는 상관이 없습니다.
배열 수식에서는 if와 함께 사용되어야만 정확한 값이 나온다는 것을 알고 계시면 될 것 같습니다.
좋은 하루 되세요.
"