책 내용 질문하기
좋은 하루 되세요.
"
배열함수 질문!!
도서
[2013] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
110
조회수
44
작성일
2013-07-24
작성자
첨부파일
엑셀 배열 수식에서
1 =MAX( ($B$12:$B$27=A3) * $F$12:$F$27 )-AVERAGE( IF ($B$12:$B$27=A3, $F$12:$F$27 ) ) O
2 =MAX( ($B$12:$B$27=A3) * $F$12:$F$27 )-AVERAGE(($B$12:$B$27=A3) * $F$12:$F$27 ) ) X
저는 이렇게 해서 틀렸습니다.
질문1.
max함수 할 때는 되고( "*" 로연결)
average함수할때는("*"로연결) 저렇게 적으면 안되는건가요?? (왜ㅜㅜ?)
=MAX( ($B$12:$B$27=A3) * $F$12:$F$27 )
이거 말로 풀면
1 . $B$12:$B$27에서 A3와 동일한 값
2. $F$12:$F$27범위에서 $B$12:$B$27범위 중 A3와 동일한 범위의 값을 찾는다.
3. max(1340000, 653500, 633400, 1588900, 653500, 1020000, 1588900, 633400)
4. 1588900
이게 아닌가요? ㅠㅠ average함수도 같이 생각해서 if는 안들어가도 된다고 생각했거든요...
AVERAGE(($B$12:$B$27=A3) * $F$12:$F$27 ) )
같은방식이니 결국 이렇게 나올테고
=average(1340000, 653500, 633400, 1588900, 653500, 1020000, 1588900, 633400)
1013950이 나올테고
두 값을 빼면 574950 입니다만..
=AVERAGE(($B$12:$B$27=A3)*$F$12:$F$27) 엑셀에서 이 값은 506975가 나옵니다..
이유를 모르겠어요 ㅠㅠ
질문2.
=MAX( ($B$12:$B$27=A3) * $F$12:$F$27 )-AVERAGE( IF( ($B$12:$B$27=A3) * $F$12:$F$27 ))
요래 적어야 되는거 아니예요?
=count(if ( ( mid($b$9:$b$13,2,1)=b4) * ($c$9:$c$13=$c$3),1 ) )
다른 배열함순데 IF도 있고...mid함수가 끼긴했지만.. " * " 이게 들어가는데
이 문제에서는 콤마(,)로 연결되있어서...
친절한 답변 기다리고 있겠습니다 ㅠㅠ
답변
2013-07-25 01:52:03
1.
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문과 함께 사용해야 합니다.
평균값이 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문과 함께 사용해야 합니다.
2. count(if((조건1)*(조건2),1)
if문의 사용법이 if(조건,참,거짓) 입니다.
그러므로 그 방법을 사용하기 위해
count(if(조건,참,거짓))
으로 사용해야 하는데 이문제에서는 조건이 2개 이기 때문에 조건 2개를 and 조건으로 연결하기 위해 * 로 이어준 것이구요.
조건이 참일때 1을 반영하기 위해서 1을 사용한 것입니다.
조건이 거짓일때는 아무것도 반영하지 않습니다.
좋은 하루 되세요.
-
*2013-07-25 01:52:03
1.
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문과 함께 사용해야 합니다.
2. count(if((조건1)*(조건2),1)if문의 사용법이 if(조건,참,거짓) 입니다.그러므로 그 방법을 사용하기 위해count(if(조건,참,거짓))으로 사용해야 하는데 이문제에서는 조건이 2개 이기 때문에 조건 2개를 and 조건으로 연결하기 위해 * 로 이어준 것이구요.조건이 참일때 1을 반영하기 위해서 1을 사용한 것입니다.조건이 거짓일때는 아무것도 반영하지 않습니다."
좋은 하루 되세요.