책 내용 질문하기
J형 계산작업 배열수식 질문입니다...
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
121
조회수
94
작성일
2012-01-11
작성자

문제에는 if를 써서 배열 수식을 쓰라고 나와 있기는 한데...

제가 if를 못 보고 if 없이 배열 수식을 썼었습니다..

실전에서는 지시대로 하는 것이 맞겠지만.. 이것은 논외로 하고..

제가 궁금한 것은...

if를 넣어서 쓴 배열수식과

{=MAX(IF($I$3:$I$23=K$21,$F$3:$F$23))-MIN(IF($I$3:$I$23=K$21,$F$3:$F$23))}

if없이 쓴 배열수식이

{=MAX(($I$3:$I$23=K$21)*$F$3:$F$23)-MIN(($I$3:$I$23=K$21)*$F$3:$F$23)}

결과가 왜 다르게 나오는지 궁금합니다..

밑에 파일을 첨부합니다..

오타가 있는지 오랜 시간 확인해 봤는데도 제 눈에는 잘 띄지 않네요..ㅠ

답변 부탁드립니다..

감사합니다...

답변
2012-01-12 14:40:15
1편 엑셀 112 페이지 설명입니다.

평균값이 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문과 함께 사용해야 합니다.

좋은 하루 되세요.
"
  • *
    2012-01-12 14:40:15
    1편 엑셀 112 페이지 설명입니다.

    평균값이 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문과 함께 사용해야 합니다.

    좋은 하루 되세요.
    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.