책 내용 질문하기
Max,Average,if 수식 작성 질문
도서
[2015] 컴퓨터활용능력 1급 실기
페이지
114
조회수
111
작성일
2016-04-01
작성자
첨부파일
[표1] [표2] 기본급
근무팀 2/3호봉 직원수 큰 값-평균 값   사원 대리 과장 차장 부장
총무팀 3명
574,950
1 호봉 633,400 766,300 989,200 1,250,000 1,388,900
기술팀 2명
363,050
2 호봉 653,500 792,600 798,900 1,280,000 1,428,900
영업팀 3명
105,525
3 호봉 673,600 818,900 1,020,000 1,310,000 1,468,900
4 호봉 693,700 845,200 1,342,600 1,340,000 1,508,900
5 호봉 713,800 871,500 1,465,000 1,370,000 1,548,900
6 호봉 733,900 897,800 2,151,100 1,400,000 1,588,900
[표3]
성명 근무팀 직위 직급 호봉 기본급 식대 교통비 차량보조금 급여 총액 만기금액
강상일 총무팀 차장 4급 4호봉 1,340,000 100,000 70,000 - 1,510,000 18,868,398
강애연 기술팀 과장 3급 3호봉 1,020,000 100,000 50,000 - 1,170,000 14,619,885
강충기 총무팀 사원 1급 2호봉 653,500 100,000 30,000 - 783,500 9,790,325
김규한 영업팀 대리 2급 6호봉 897,800 100,000 50,000 - 1,047,800 13,092,919
김동구 영업팀 과장 3급 2호봉 798,900 100,000 70,000 - 968,900 12,107,014
김병철 기술팀 대리 2급 4호봉 845,200 100,000 30,000 - 975,200 12,185,736
김사현 총무팀 사원 1급 1호봉 633,400 100,000 30,000 - 763,400 9,539,162
김수정 총무팀 부장 5급 6호봉 1,588,900 100,000 10,000 40,000 1,738,900 21,728,648
김영석 기술팀 차장 4급 5호봉 1,370,000 100,000 70,000 - 1,540,000 19,243,267
김용곤 총무팀 사원 1급 2호봉 653,500 100,000 50,000 - 803,500 10,040,237
김용철 총무팀 과장 3급 3호봉 1,020,000 100,000 70,000 - 1,190,000 14,869,797
김인철 기술팀 대리 2급 2호봉 792,600 100,000 70,000 - 962,600 12,028,292
김재웅 영업팀 사원 1급 2호봉 653,500 100,000 50,000 - 803,500 10,040,237
김정우 총무팀 부장 5급 6호봉 1,588,900 100,000 10,000 300,000 1,998,900 24,977,511
김종진 영업팀 대리 2급 3호봉 818,900 100,000 30,000 - 948,900 11,857,101
김지훈 총무팀 사원 1급 1호봉 633,400 100,000 50,000 - 783,400 9,789,075

노란색으로 표시한 셀의 수식 작성 부분에 대한 질문입니다.

[표1]에서 근무팀별로 기본급이 가장 큰 값과 기본급 평균의 차이를 [c3:c5]영역에 계산하는 문제입니다.

조건] max,if,average,daverage,or 중 알맞은 함수를 사용한 배열 수식 사용

정답: {=MAX(($B$12:$B$27=$A3)*$F$12:$F$27) - AVERAGE(IF($B$12:$B$27=A3,$F$12:$F$27))} 인데

제가 작성한 식은 {=IF($B$12:$B$27=$A3,MAX($F$12:$F$27)-AVERAGE($F$12:$F$27))} 입니다.

이렇게 풀면 답이 안나오는 이유를 알려주실 수 있을까요?

그리고 정답에 average부분에만 if를 썼는데 max부분에는 안쓰고 average부분에만 쓰는 이유가 뭔가요?

=MAX($B$12:$B$27=$A3)*$F$12:$F$27) - AVERAGE( ($B$12:$B$27=$A3)*$F$12:$F$27)

답변
2016-04-05 10:40:55

배열 수식이므로 배열수식 사용방법으로 함수를 작성하셔야 합니다.

average(if 로 작성하는 이유는 조건에 맞는 값만 추출하여 사용하기 위한 것입니다.

average(if( 로 작성하면

4,5,6,7,8 이라는 값의 평균은 30/5 이므로 6 이지만

average 로 사용하면 조건에 맞지 않는 경우 0값이 포함이 됩니다.

4,0,5,6,7,8, 로 지정하면 30/6 이므로 5 가 됩니다.

그러므로 조건에 맞지 않은 값을 0 으로 표시하면 안되는 것이죠.

그렇게 표시하지 않기 위해서 if 문을 같이 사용하는 것입니다.

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

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

좋은 하루 되세요.

  • *
    2016-04-05 10:40:55

    배열 수식이므로 배열수식 사용방법으로 함수를 작성하셔야 합니다.

    average(if 로 작성하는 이유는 조건에 맞는 값만 추출하여 사용하기 위한 것입니다.

    average(if( 로 작성하면

    4,5,6,7,8 이라는 값의 평균은 30/5 이므로 6 이지만

    average 로 사용하면 조건에 맞지 않는 경우 0값이 포함이 됩니다.

    4,0,5,6,7,8, 로 지정하면 30/6 이므로 5 가 됩니다.

    그러므로 조건에 맞지 않은 값을 0 으로 표시하면 안되는 것이죠.

    그렇게 표시하지 않기 위해서 if 문을 같이 사용하는 것입니다.

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

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

    좋은 하루 되세요.

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