안녕하세요 컴활 실기 공부중에 궁금한점이 있어 질문합니다.
AVERAGE(IF(($I$3:$I$23=K16)*(($I$3:$I$23=K16)*($F$3:$F$23)<>MAX(($I$3:$I$23=K16)*($F$3:$F$23))),$F$3:$F$23))
굵게 표시한 부분을 왜 저렇게 쓰는지 잘 이해가 가지 않습니다.
배열수식에서 규칙인가요? 함수(if 문에서 조건과 구하고자 하는 값들을 곱하는 이유가 무엇인지 궁금합니다.
안녕하세요.
배열 수식에서 *로 연결하는 것은 조건에 대해서는 AND의 개념으로 사용된 것입니다.
int(avearge(if( (조건1)*((조건2)*(범위)<>max((조건3)*(값을구할범위))),값을구할범위))) 형식으로 사용된 것입니다.
조건2와 조건3에서 범위가 지정된 것은 비교할 값을 구하기 위한 것이구요.
마지막의 값을 구할범위에서 결과 값이 나오게 됩니다.
max값에서도 반별로 조건을 적용하기 위한 것이죠.
=INT(AVERAGE(IF(($I$3:$I$23=K16)*(($I$3:$I$23=K16)*($F$3:$F$23)<>MAX(($I$3:$I$23=K16)*($F$3:$F$23))),$F$3:$F$23)))
IF( ($I$3:$I$23=K16) *
반이 같은지 비교합니다.
(($I$3:$I$23=K16)*($F$3:$F$23)<>MAX(($I$3:$I$23=K16)*($F$3:$F$23)))
반이 같은 사람의 평균과 반이 같은 사람의 평균 중 가장 큰 값을 비교하여 큰 값과 같지 않은 값을 추출합니다. 여기의 조건의 앞의 조건과 이어지는 것이 아닙니다.
평균 중 가장 큰 평균을 제외하는 조건으로 반은 값 안에서의 가장 큰 값을 제외하기 위한 조건입니다.
<> 은 같지않다, ~이 아닌 이므로 max값을 제외하기 위한 것입니다.
정확한 결과가 나온다면 어떻게 작성하시든 정확한 결과가 나오면 정답으로 인정 됩니다.
좋은 하루 보내세요.
-
관리자2019-01-20 00:30:38
안녕하세요.
배열 수식에서 *로 연결하는 것은 조건에 대해서는 AND의 개념으로 사용된 것입니다.
int(avearge(if( (조건1)*((조건2)*(범위)<>max((조건3)*(값을구할범위))),값을구할범위))) 형식으로 사용된 것입니다.
조건2와 조건3에서 범위가 지정된 것은 비교할 값을 구하기 위한 것이구요.
마지막의 값을 구할범위에서 결과 값이 나오게 됩니다.
max값에서도 반별로 조건을 적용하기 위한 것이죠.
=INT(AVERAGE(IF(($I$3:$I$23=K16)*(($I$3:$I$23=K16)*($F$3:$F$23)<>MAX(($I$3:$I$23=K16)*($F$3:$F$23))),$F$3:$F$23)))
IF( ($I$3:$I$23=K16) *
반이 같은지 비교합니다.
(($I$3:$I$23=K16)*($F$3:$F$23)<>MAX(($I$3:$I$23=K16)*($F$3:$F$23)))
반이 같은 사람의 평균과 반이 같은 사람의 평균 중 가장 큰 값을 비교하여 큰 값과 같지 않은 값을 추출합니다. 여기의 조건의 앞의 조건과 이어지는 것이 아닙니다.
평균 중 가장 큰 평균을 제외하는 조건으로 반은 값 안에서의 가장 큰 값을 제외하기 위한 조건입니다.
<> 은 같지않다, ~이 아닌 이므로 max값을 제외하기 위한 것입니다.
정확한 결과가 나온다면 어떻게 작성하시든 정확한 결과가 나오면 정답으로 인정 됩니다.
좋은 하루 보내세요.