저는 =AVERAGE(($A3=$B$12:$B$27)*$F$12:$F$27) 이렇게 작성했는데
=AVERAGE(IF($A3=$B$12:$B$27,$F$12:$F$27)) 이렇게 작성해야 하는 이유가 뭔가요? 정답도 서로 다르네요 ㅠㅠ
=if(조건,참,거짓)
입니다. if 문을 사용하면 조건과 참 거짓 값을 표시해야 하므로
=AVERAGE(IF($A3=$B$12:$B$27,$F$12:$F$27))
조건 , 참 (거짓 값 생략)
로 입력하셔야 하는 것입니다.
좋은 하루 되세요.
-
관리자2022-08-31 15:52:53
=if(조건,참,거짓)
입니다. if 문을 사용하면 조건과 참 거짓 값을 표시해야 하므로
=AVERAGE(IF($A3=$B$12:$B$27,$F$12:$F$27))
조건 , 참 (거짓 값 생략)
로 입력하셔야 하는 것입니다.
좋은 하루 되세요.
-
관리자2022-09-02 10:48:07
안녕하세요.
IF문을 입력할 때 IF(A3=B12:B27,F12:F27)처럼 작성하는 것은 조건이 거짓일 경우 “반환할 값”이 생략(IF(A3=B12:B27,F12:F27,“반환할 값”))된 것으로, IF(A3=B12:B27,F12:F27,"")과 같이 조건의 값이 거짓일 때 이론적으로 아무 값도 없는 NULL 값을 반환하라는 뜻입니다. NULL 값이 반환되면 아무 값도 없는 것이기 때문에 AVERAGE 함수의 배열 요소에서 제외됩니다. 그런데 만약 배열 수식을 =AVERAGE((A3=B12:B$27)*F12:F27)과 같이 작성하면 조건이 거짓일 때 0이 AVERAGE 함수의 인수로 포함되어 평균이 계산되는 것입니다. 즉 ‘=AVERAGE (500,500,500, 500)’과 ‘=AVERAGE (0,500,0,0,500,0,0…)’의 차이겠죠. 같은 이유로 MIN, MEDIAN, SMALL 등의 함수도 배열 수식으로 작성할 경우 반드시 IF문과 함께 사용해야 합니다.
즐거운 하루 되세요.
-
*2022-08-31 17:10:40
추가 문의 드립니다.
답변 감사합니다
그런데 제가 궁금한 것은 if 함수를 작성 시 조건,참,거짓 순으로 작성해야 한다는 내용이 아닙니다.
문제는 함수 중 적절한 것을 골라 사용하라는 것 이였고
저는 if 를 사용하지 않아도 될 것 같아 아래와 같이 식을 작성했으나 왜 답이 다르게 나오는지 궁금한 것입니다.
=AVERAGE(($A3=$B$12:$B$27)*$F$12:$F$27)