책 내용 질문하기
스프레드시트 516페이지 2-3번 문항 질문 있습니다.
도서
2021 시나공 컴퓨터활용능력 1급 실기
페이지
516
조회수
288
작성일
2021-02-28
작성자
탈퇴*원
첨부파일

가장 큰값에서 평균을 빼라는 문제입니다.

배열함수로 최대값을 구하는것 까지는 해설과 맞는데 평균을 구하는데 IF를 써야 하는 이유를 모르겠습니다.

 

제가 작성한 함수 : =MAX(($B$12:$B$27=A3)*($F$12:$F$27))-AVERAGE(($B$12:$B$27=A3)*($F$12:$F$27)) 

 

해설에서 말하는 함수 : =MAX(($B$12:$B$27=A3)*($F$12:$F$27))-AVERAGE(IF($B$12:$B$27=A3,$F$12:$F$27))


제가 작성한 함수도 B12 : B27중에서 A3과 같은 값중 F12 : F27의 평균을 구하라는 의미 아닌가요??ㅠㅠ

바로 앞에서 쓰인 함수인 max나 sum 배열함수 등 다른 배열함수에서 IF없이 조건을 지정하는 경우가 있던데 언제 IF가 들어가는건가요?ㅠ 

답변
2021-03-01 09:48:33

안녕하세요.

 

Average 함수는 조건을 넣을 때, 꼭 IF 함수를 이용해 주셔야 합니다.

 

조건이 거짓일 경우 if를 사용하면 false를 반환하고, if를 사용하지 않으면 0을 반환하게 됩니다.

 

Average 함수는 평균을 구하는 함수로 인수에 0 이 포함되면 결과가 달라지기 때문에

 

if를 사용하여 거짓인 경우 false가 반환되도록 해야 합니다.

 

아래 설명을 참고해 주세요. 

 

 

평균값이 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(0,550000,0,0,1650000,0,0...)의 차이겠죠. 같은 이유로 MIN, MEDIAN,SMALL 등의 함수도 반드시 IF문과 함께 사용해야 합니다.

 

=AVERAGE(550000,1650000,4000000,165000,770000) 와 =AVERAGE(0,550000,0,0,1650000,0,0...) 차이 라고 했는데

첫번째 것은 5650000/5 가 되어 결과가 1130000 되고

두번째 것은 220000/7 이 되어 31428.57143 이 나옵니다.

즉 0 값도 포함하여 나누는 것과 0 값을 포함하지 않고 나누는 것의 차이가 되겠죠.

 

MAX 함수는 조건을 넣을 때, if를 사용해도 되고 사용하지 않아도 상관없습니다. 인수 0에 영향을 받지 않기 때문입니다.

 

0 이 반환되어 값에 영향을 주는 average, min, median, small 함수 등은 반드시 if 문과 함께 사용해야 합니다.

 


 

좋은 하루 보내세요.

  • 관리자
    2021-03-01 09:48:33

    안녕하세요.

     

    Average 함수는 조건을 넣을 때, 꼭 IF 함수를 이용해 주셔야 합니다.

     

    조건이 거짓일 경우 if를 사용하면 false를 반환하고, if를 사용하지 않으면 0을 반환하게 됩니다.

     

    Average 함수는 평균을 구하는 함수로 인수에 0 이 포함되면 결과가 달라지기 때문에

     

    if를 사용하여 거짓인 경우 false가 반환되도록 해야 합니다.

     

    아래 설명을 참고해 주세요. 

     

     

    평균값이 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(0,550000,0,0,1650000,0,0...)의 차이겠죠. 같은 이유로 MIN, MEDIAN,SMALL 등의 함수도 반드시 IF문과 함께 사용해야 합니다.

     

    =AVERAGE(550000,1650000,4000000,165000,770000) 와 =AVERAGE(0,550000,0,0,1650000,0,0...) 차이 라고 했는데

    첫번째 것은 5650000/5 가 되어 결과가 1130000 되고

    두번째 것은 220000/7 이 되어 31428.57143 이 나옵니다.

    즉 0 값도 포함하여 나누는 것과 0 값을 포함하지 않고 나누는 것의 차이가 되겠죠.

     

    MAX 함수는 조건을 넣을 때, if를 사용해도 되고 사용하지 않아도 상관없습니다. 인수 0에 영향을 받지 않기 때문입니다.

     

    0 이 반환되어 값에 영향을 주는 average, min, median, small 함수 등은 반드시 if 문과 함께 사용해야 합니다.

     


     

    좋은 하루 보내세요.

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