저는 3번 함수를 =MAX(IF(($B$12:$B$27=$A3),($F$12:$F$27)))-AVERAGE(($B$12:$B$27=$A3)*($F$12:$F$27)) 로 작성했는데요. 결과값이 다르게 나오는데 이 함수가 왜 틀린지 모르겠습니다. 답에 나온 함수와의 차이는 if 함수를 average가 아닌 max에 쓴것뿐인데. average함수의 결과가 답과 다르게 나오더라고요. average 함수에서 어떤점때문에 if를 넣었을때랑 다르게 나온걸까요?
안녕하세요.
average 함수는 평균을 구하는 함수로 반드시 if를 이용해서 조건을 넣어주셔야 합니다.
if로 조건을 만들면 거짓일 경우 false를 반환해서 평균에 영향을 주지 않지만,
괄호 형태로 조건을 만들면 거짓일 경우 0을 반환하게 되어, 계산 범위에 포함되므로 잘못된 계산이 됩니다.
0이 반환되어 값에 영향을 주는 average, min, median, small 함수 등은 반드시 if문과 함께 사용해야 합니다.
다음은 배열 수식에 활용되는 함수들을 정리한 것입니다.
=sum(if(조건),1))
=SUM(조건)*1)
=count(If(조건),1))
=count(if(조건,개수 구할 범위))
=count(if((조건1)*(조건2),1)) - 조건이 2개일 경우
=sum((조건1)*(조건2)*합계구할범위)
=sum(if((조건1)*(조건2), 합계구할범위))
=sum((조건)*합계구할범위)
=max((조건1)*(조건2)*최대값을 구할 범위)
=max(if(조건,최대값구할범위))
=large((조건)*계산범위,N번째로 큰수)
=large(if((조건, 계산범위) ,N번째로 큰수)
=small(if(조건,값 구할 범위),N번째로 작은 수)
=average(if(조건,평균구할범위))
=median(if(조건, 중간값을 구할 범위))
좋은 하루 보내세요.
-
*2018-09-18 20:44:58
안녕하세요.
average 함수는 평균을 구하는 함수로 반드시 if를 이용해서 조건을 넣어주셔야 합니다.
if로 조건을 만들면 거짓일 경우 false를 반환해서 평균에 영향을 주지 않지만,
괄호 형태로 조건을 만들면 거짓일 경우 0을 반환하게 되어, 계산 범위에 포함되므로 잘못된 계산이 됩니다.
0이 반환되어 값에 영향을 주는 average, min, median, small 함수 등은 반드시 if문과 함께 사용해야 합니다.
다음은 배열 수식에 활용되는 함수들을 정리한 것입니다.
=sum(if(조건),1))
=SUM(조건)*1)
=count(If(조건),1))
=count(if(조건,개수 구할 범위))
=count(if((조건1)*(조건2),1)) - 조건이 2개일 경우=sum((조건1)*(조건2)*합계구할범위)
=sum(if((조건1)*(조건2), 합계구할범위))
=sum((조건)*합계구할범위)
=max((조건1)*(조건2)*최대값을 구할 범위)
=max(if(조건,최대값구할범위))=large((조건)*계산범위,N번째로 큰수)
=large(if((조건, 계산범위) ,N번째로 큰수)
=small(if(조건,값 구할 범위),N번째로 작은 수)
=average(if(조건,평균구할범위))
=median(if(조건, 중간값을 구할 범위))좋은 하루 보내세요.