2번 문제는
책에 나온 정답
=INDEX($A$9:$F$34,MATCH(LARGE(($C$9:$C$35=E3)*$D$9:$D$35,3),($C$9:$C$35=E3)*$D$9:$D$35,0),2)
제 정답
=INDEX($A$9:$F$34,MATCH(LARGE(($C$9:$C$35=E3)*$D$9:$D$35,3),$D$9:$D$35,0),2)
위에 빨간 부분을 제외한 정답이었습니다.
앞에서 large함수에서 저 조건이 적용되었기에 저는 뒤에서 당연히 안 해도 된다고 생각했는데 정답에는 조건이 저렇게 또 들어가는 것으로 나왔네요.
이런 경우 실행결과는 똑같은데 정답처리가 어떻게 되나요?
5번 문제는
책에 나온 정답
Public Function fn이익금(판매금액, 품명, 판매량)
If 판매량 >= 100 And (품명 = "딸랑이" Or 품명 = "우유병") Then
fn이익금 = 판매금액 - (판매금액 * 0.5)
ElseIf 판매량 < 100 Then
fn이익금 = 판매금액 - (판매금액 * 0.7)
End If
End Function
제 정답
Public Function fn이익금(판매금액, 품명, 판매량)
If 판매량 >= 100 And 품명 = "딸랑이" Or 품명 = "우유병" Then
fn이익금 = 판매금액 - (판매금액 * 0.5)
ElseIf 판매량 < 100 Then
fn이익금 = 판매금액 - (판매금액 * 0.7)
End If
End Function
저는 위에 빨간부분으로 체크된 괄호를 사용하지 않았는데 이럴 땐 어떻게 되나요?
꼭 괄호가 들어가야 하나요?
마지막으로
=AVERAGE((A3=$B$12:$B$27)*$F$12:$F$27)
=AVERAGE(IF(A3=$B$12:$B$27,$F$12:$F$27))
이 두 가지 식을 배열수식으로 한다고 했을 때 저는 같은 값이 나와야 한다고 생각하는데, 다른 값이 나옵니다.
빨간색으로 되어 있는 부분은 같은 수식이 될 수 없나요?
1. 실행 결과가 같다면 어떻게 작성하시든 정답으로 인정 됩니다.
2. 괄호가 없어서 정확한 결과가 나오지 않는다면 오답처리 되세요.
or 조건 부터 실행하고자 한다면 괄호를 꼭 해주셔야 합니다.
3.
평균값이 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 값을 포함하지 않고 나누는 것의 차이가 되겠죠.
좋은 하루 되세요.
-
*2015-07-04 01:44:19
1. 실행 결과가 같다면 어떻게 작성하시든 정답으로 인정 됩니다.
2. 괄호가 없어서 정확한 결과가 나오지 않는다면 오답처리 되세요.
or 조건 부터 실행하고자 한다면 괄호를 꼭 해주셔야 합니다.
3.
평균값이 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 값을 포함하지 않고 나누는 것의 차이가 되겠죠.
좋은 하루 되세요.