매번 답변해주시느라 수고 많으시죠ㅠㅠ
공부하면 할 수록 궁금증이 늘어나 저도 너무 죄송스럽습니다.ㅠㅠ
①1번 문제에서 답이 이렇습니다.
= H11 * VLOOKUP( F11, $B$4:$G$6, MATCH(G11, $C$3:$G$3,0)+1,FALSE) * ( 1 - IF(H11>=30,10%,0) )
다 이해되는데 MATCH(값, 범위, 옵션)에 왜 +1을 해줘야하는지 잘모르겠습니다.
②그리고 오늘 옵션값 질문에 대한 답변을 받았는데,
저는 이해를 이렇게 했습니다.
첫번째 열이 정렬이 되어있다면 true나 생략해도 되고,
첫번째 열이 정렬되어 있지 않다면 false를 줘서 정확한 값을 찾을 것.
이렇게 이해를 했는데, 저 위의 1번 문제를 예로 들면
MATCH함수의 옵션으로 FALSE가 입력되어있으나
2013년 1회 1급의 표3번의 첫번째 열인 판매일자는 오름차순으로 정렬이 되어있는데
그럼 첫번째 열이 정렬 되어있는건데, TRUE나 생략을 해도 되는것 아닌가요?
그런데 TRUE나 생략을 하면, I11 셀의 값은 맞지만, 그 밑으로 I12,I13,I14~의 값은 다 틀려버리네요.
제가 잘못 이해한건가요...
③그리고 배열수식에서 index , match , max를 사용하는 문제가 자주나오는데
보통 문제의 답은
index( 범위, 행 ,열)로 나뉘고
행이나 열에 match(max(로 이렇게 들어가기 마련인데,
match(max가 행에들어가야하는지, 열에 들어가야하는지 자주 헷갈려서 그런데
쉽게 알아보는 방법이 혹시 있을까요?
④ 부록134페이지 2012년 1회 1급 계산문제 5번에서
DCOUNTA의 조건이
시야각 가격평균
>=170 =F4>=AVERAGE($F$4:$F$17)
이렇게 작성하는걸로 나와있는데
가격평균의 조건을 그냥 " >=AVERAGE($F$4:$F$17) "
이렇게 입력하면 안되는 이유가 궁금합니다. 오답이 나오네요.
⑤ 광복절 새벽이네요 아이고...휴일이고 뭐고 컴활과 씨름합니다 ㅠㅠ
이번엔 새로운놈을 봤네요
2011년 3회 1급인데요, 문제2번 문제3번에서 각각 if가 사용된 배열수식 문제인데
(조건1)*(조건2),1<-이까지는 지금해온것과 같았는데
(조건1)*(조건2),1,0 <-처럼 "0"을 입력한다던가
(조건1)*(조건2),1,""<-처럼 ""공백을 입력하는데요 갑자기 이런 구문이 나와서 혼란스러운데
어떤 이유에서인가요? 기존의 sumif를 사용하는 조건2개의 배열수식에서는 이런게 없었는데요 ㅠㅠ
1.
=H11*VLOOKUP(F11,$B$4:$G$6,MATCH(G11,$C$3:$G$3,0)+1,FALSE)*(1-IF(H11>=30,10%,0))
vlookup에서 지정한 범위는 b열부터 시작인데
match 에서 지정한 범위는 c열 부터이기 때문에
vlookup의 범위를 맞춰 줄려면 +1 을 하여 사용하셔야 합니다.
match의 범위를 그대로 사용하여 1 이 나온 경우
vlookup의 b열에 해당하는 값을 가져오게 되므로 신상13 이 나올 수 있습니다.
그러므로 +1 을 하여 바지에 해당하는 25000 의 값을 가져오기위해 +1을 해주셔야 합니다.
2.
신상13
신상12
신상11
로 오름차순 정렬이 아닙니다. 그러므로 false 를 사용해야 하는 것입니다.
3. 표의 내용을 보고 확인 합니다.
match 로 구하는 값이 행의 값이면 행의 자리에 열의 값이면 열의 자리에 넣고
둘다 구하는 것이라면 행, 열 모두 입력하셔야 하죠.
문제를 잘 보고 판단하는 수 밖에 없습니다.
4. 가격이 >=AVERAGE($F$4:$F$17) 인지 판단해야 하는데
>=AVERAGE($F$4:$F$17) 의 결과가 나오는 것이 아니기 때문에 비교가 안되는 것입니다.
차라리 AVERAGE($F$4:$F$17) 값을 구한 후에
가격
>= 결과값
을 입력하는 것이 결과가 나올 수는 있겠죠. 정확한 결과가 나오지 않을 수도 있습니다. 계산된 결과가 반올림 되거나 하면 다르게 표시될 수 있거든요..
5. if((조건1)*(조건2),참,거짓)
이죠.
첫번째는 거짓에 아무것도 입력하지 않은것
두번째는 거짓에 0 값을 넣은 것
세번째는 거짓에 "" 을 넣은것
입니다.
sum(if
에서는 거짓에 0 을 넣어도 결과가 같습니다.
sum(1,0,1,0,1,1,0)
과 같이 나타나고 다 더하면 4가 나오니까요.
하지만 count(if 에서는 다릅니다.
count 함수가 숫자의 개수를 세므로 0 값도 세게 됩니다.
이렇게 되면 조건에 맞는 개수를 구하는 것이 아니라 전체의 개수를 구하게 되므로
거짓 부분을 생략하거나 "" 를 사용하게 되는 것입니다.
좋은 하루 되세요.
"-
*2014-08-18 06:33:17
1.
=H11*VLOOKUP(F11,$B$4:$G$6,MATCH(G11,$C$3:$G$3,0)+1,FALSE)*(1-IF(H11>=30,10%,0))
vlookup에서 지정한 범위는 b열부터 시작인데
match 에서 지정한 범위는 c열 부터이기 때문에
vlookup의 범위를 맞춰 줄려면 +1 을 하여 사용하셔야 합니다.
match의 범위를 그대로 사용하여 1 이 나온 경우
vlookup의 b열에 해당하는 값을 가져오게 되므로 신상13 이 나올 수 있습니다.
그러므로 +1 을 하여 바지에 해당하는 25000 의 값을 가져오기위해 +1을 해주셔야 합니다.
2.
신상13
신상12
신상11
로 오름차순 정렬이 아닙니다. 그러므로 false 를 사용해야 하는 것입니다.
3. 표의 내용을 보고 확인 합니다.
match 로 구하는 값이 행의 값이면 행의 자리에 열의 값이면 열의 자리에 넣고
둘다 구하는 것이라면 행, 열 모두 입력하셔야 하죠.
문제를 잘 보고 판단하는 수 밖에 없습니다.
4. 가격이 >=AVERAGE($F$4:$F$17) 인지 판단해야 하는데
>=AVERAGE($F$4:$F$17) 의 결과가 나오는 것이 아니기 때문에 비교가 안되는 것입니다.
차라리 AVERAGE($F$4:$F$17) 값을 구한 후에
가격
>= 결과값
을 입력하는 것이 결과가 나올 수는 있겠죠. 정확한 결과가 나오지 않을 수도 있습니다. 계산된 결과가 반올림 되거나 하면 다르게 표시될 수 있거든요..
5. if((조건1)*(조건2),참,거짓)
이죠.
첫번째는 거짓에 아무것도 입력하지 않은것
두번째는 거짓에 0 값을 넣은 것
세번째는 거짓에 "" 을 넣은것
입니다.
sum(if
에서는 거짓에 0 을 넣어도 결과가 같습니다.
sum(1,0,1,0,1,1,0)
과 같이 나타나고 다 더하면 4가 나오니까요.
하지만 count(if 에서는 다릅니다.
count 함수가 숫자의 개수를 세므로 0 값도 세게 됩니다.
이렇게 되면 조건에 맞는 개수를 구하는 것이 아니라 전체의 개수를 구하게 되므로
거짓 부분을 생략하거나 "" 를 사용하게 되는 것입니다.
좋은 하루 되세요.
"