계산작업문제모음 2012년2회1급E형 문제2번질문이요.
문제2.HLOOKUP,MATCH 함수를 이용한 문제 풀이 인데요.
답이 =D3*HLOOKUP(D3,$I$25:$L$30,MATCH(B3,$H$27:$H30,0) +2)+H3 인데
제가 이해가 안되는 부분이 바로 +2 입니다. 왜 +2해야하는지 모르겠어요.이해안가요.
그리고 이 문제와 비슷한 맥락에
130p 2011년3회 1급 E형에 문제 4번
답이 INDEX($N$3:$N$7,MATCH(H3,$N$3:$N$7,0) +1,1)
132p 2011년2회 1급 E형에 문제 2번
답이 F3*VLOOKUP(C3,$D$23:$I$26,MATCH(D3,$E$22:$I$22,0) +1,FALSE
134p 2011년 1회 1급 E형에 문제2번
답이 H3*VLOOKUP(G3,$H$25:$K$27,MATCH(F3,$I$24:$K$24,0) +1,FALSE))*K3
136p 2010년 3회 1급 E형에 문제 1 번
답이 VLOOKUP(B3,$G$31:$J$35,MATCH(C3,$H$30:$J$30,0) +1,FALSE)
도 설명해주시면 감사할것같아요.
1.
=D3*HLOOKUP(D3,$I$25:$L$30,MATCH(B3,$H$27:$H$30,0)+2)+H3
i25부터 잡았기 때문에 MATCH(B3,$H$27:$H$30,0)+2 가 나오는 것입니다.
+2 를 해서 I27에서 찾을 수 있게 하는 것이죠.
HLOOKUP(D3,$I$25:$L$30,MATCH(B3,$H$27:$H$30,0)+2)
match 함수의 인수로만 사용할 때에는 +2없이 사용하면 됩니다. 하지만 이 결과 값을 hlookup 함수의 인수로 사용된 범위에서 사용해야 하므로 +2를 해준 것입니다. 예를 들어 설명하면
MATCH(B3,$H$27:$H$30,0)의 결과는 3이 나옵니다. "공업용"이 $H$27:$H$30 영역에서 3번째에 위치하기 때문입니다. 그러면 이것을 hlookup 함수에 대입하면 다음과 같습니다.
HLOOKUP(D3,$I$25:$L$30,3 <--대입한 값)
사용량에 따른 단가를 구하는 것으로 d3의 값 230을 $I$25:$L$30 영역에서 찾으면 3열에 있습니다.
그러므로 최종 행, 열 값은 3행 3열이 됩니다. 그러면 $I$25:$L$30에서 3행은 가정용이 됩니다. 공업용 행에서 찾아야 하는데 가정용 행에서 찾은 것이죠.
즉 match 함수의 범위로 지정하는 값 $H$27:$H$30과 hlookup 함수에서 범위로 지정하는 값 $I$25:$L$30에서 행의 범위에 차이가 있어서 그런 것입니다. hlookup에서 사용하는 범위는 match 함수에서 사용하는 범위보다 2행이 많지요. 그래서 +2를 해준 것입니다.
2.
반배정이 달라지기 때문입니다.
현재 햇살반이면 병아리반~
과 같이 한단계씩 올라가게 되므로
match에서 나온 범위에 +1 을 하여 행위치를 더하는 것입니다.
햇살반이면 match 에서 나온 값이 1이 되는데
여기에 +1을 하여 2 로 만들어 병아리반이 될 수 있게 하는 것입니다.
3.
vlookup에서 할인율을 구하는데 할인율은 회원을 구분하여 구하기 때문에 c3을 이용하는 것입니다.
c3셀이 회원구분의 데이터가 입력된 첫 셀 이니까요.
MATCH() 이후에 +1 를 하는 이유는, MATCH() 함수를 이용하면 소형 부터 승합까지 각각 1,2,3,4의 값이 나옵니다.
VLOOKUP 함수는 D23:I26까지의 범위를 하는데 이때 1열의 값을 가져오면 비회원입니다.
따라서 MATCH() 로 구한 값과 일치하는 열의 값을 가져오기위해 MATCH() 의 결과값에 +1을 더하는 것입니다.
(+1을 해주지 않으면 소형의 경우 비회원이라는 값을 계산하게 됩니다.)
c3이 비회원입니다. 이 비회원이라는 값을 가지고 할인율 표에서 할인율을 확인 해야 하죠.
범위의 맨 왼쪽 열을 가지고 구해야 하므로 vlookup이 되는 것입니다.
그래서 vlookup의 범위가 d23:i26이 되는 것입니다.
그런데 match에서 구하는 것은 e22:i22 범위이므로 d열이 빠진 범위가 되는 것입니다.
이렇게 하게되면 범위 차이가 나기 때문에 정확한 값이 나오지 않습니다.
그래서 d열이 빠진 만큼 +1을 해주는 것입니다.
4.
match 에서 찾는 값은 1,2,3 인데 vlookup의 범위는 1,2,3,4 로 나오게 됩니다.
첫번째 열은 찾을 값이 있는 부분인고 이중 어느열을 반영할지를 정해야 하는데
match에서 나온 값 그대로 1,2,3 을 쓰시면 vlookup의 첫번째 열인 저농약, 무농약 이런 값들이 나오게 되겠죠.
match에서 2008을 찾아 반영한 1에 +1 을 하여 2 로 만들어
vlookup의 2번째 열인 2008년 값들중에서 찾을 수 있게 하는 것입니다.

5.
match에서 +1 을 하는 이유는
vlookup 의 범위에서 열을 찾는 것이잖아요.
대, 중, 소 의 위치를 찾아 match 함수에서 상대위치를 반환합니다.
즉 대이면 1, 중이면 2, 소이면 3을 반환하는데
vlookup의 참조범위인 $G$31:$J$35 에서 첫번째 열은 제품번호 이므로 2번째 열부터 가져와야 합니다.
그렇기 때문에 2번째 열부터 표시 하기 위해 +1 을 하여
대이면 2번열, 중이면 3번열, 소이면 4번열에서 값을 찾게 하는 것입니다.
좋은 하루 되세요.
-
*2013-09-13 07:46:12
1.
"=D3*HLOOKUP(D3,$I$25:$L$30,MATCH(B3,$H$27:$H$30,0)+2)+H3
i25부터 잡았기 때문에 MATCH(B3,$H$27:$H$30,0)+2 가 나오는 것입니다.
+2 를 해서 I27에서 찾을 수 있게 하는 것이죠.
HLOOKUP(D3,$I$25:$L$30,MATCH(B3,$H$27:$H$30,0)+2)
match 함수의 인수로만 사용할 때에는 +2없이 사용하면 됩니다. 하지만 이 결과 값을 hlookup 함수의 인수로 사용된 범위에서 사용해야 하므로 +2를 해준 것입니다. 예를 들어 설명하면
MATCH(B3,$H$27:$H$30,0)의 결과는 3이 나옵니다. "공업용"이 $H$27:$H$30 영역에서 3번째에 위치하기 때문입니다. 그러면 이것을 hlookup 함수에 대입하면 다음과 같습니다.
HLOOKUP(D3,$I$25:$L$30,3 <--대입한 값)
사용량에 따른 단가를 구하는 것으로 d3의 값 230을 $I$25:$L$30 영역에서 찾으면 3열에 있습니다.
그러므로 최종 행, 열 값은 3행 3열이 됩니다. 그러면 $I$25:$L$30에서 3행은 가정용이 됩니다. 공업용 행에서 찾아야 하는데 가정용 행에서 찾은 것이죠.
즉 match 함수의 범위로 지정하는 값 $H$27:$H$30과 hlookup 함수에서 범위로 지정하는 값 $I$25:$L$30에서 행의 범위에 차이가 있어서 그런 것입니다. hlookup에서 사용하는 범위는 match 함수에서 사용하는 범위보다 2행이 많지요. 그래서 +2를 해준 것입니다.
2.
반배정이 달라지기 때문입니다.
현재 햇살반이면 병아리반~
과 같이 한단계씩 올라가게 되므로
match에서 나온 범위에 +1 을 하여 행위치를 더하는 것입니다.
햇살반이면 match 에서 나온 값이 1이 되는데
여기에 +1을 하여 2 로 만들어 병아리반이 될 수 있게 하는 것입니다.
3.vlookup에서 할인율을 구하는데 할인율은 회원을 구분하여 구하기 때문에 c3을 이용하는 것입니다.
c3셀이 회원구분의 데이터가 입력된 첫 셀 이니까요.
MATCH() 이후에 +1 를 하는 이유는, MATCH() 함수를 이용하면 소형 부터 승합까지 각각 1,2,3,4의 값이 나옵니다.
VLOOKUP 함수는 D23:I26까지의 범위를 하는데 이때 1열의 값을 가져오면 비회원입니다.
따라서 MATCH() 로 구한 값과 일치하는 열의 값을 가져오기위해 MATCH() 의 결과값에 +1을 더하는 것입니다.
(+1을 해주지 않으면 소형의 경우 비회원이라는 값을 계산하게 됩니다.)
c3이 비회원입니다. 이 비회원이라는 값을 가지고 할인율 표에서 할인율을 확인 해야 하죠.
범위의 맨 왼쪽 열을 가지고 구해야 하므로 vlookup이 되는 것입니다.
그래서 vlookup의 범위가 d23:i26이 되는 것입니다.
그런데 match에서 구하는 것은 e22:i22 범위이므로 d열이 빠진 범위가 되는 것입니다.
이렇게 하게되면 범위 차이가 나기 때문에 정확한 값이 나오지 않습니다.
그래서 d열이 빠진 만큼 +1을 해주는 것입니다.
4.
match 에서 찾는 값은 1,2,3 인데 vlookup의 범위는 1,2,3,4 로 나오게 됩니다.
첫번째 열은 찾을 값이 있는 부분인고 이중 어느열을 반영할지를 정해야 하는데
match에서 나온 값 그대로 1,2,3 을 쓰시면 vlookup의 첫번째 열인 저농약, 무농약 이런 값들이 나오게 되겠죠.
match에서 2008을 찾아 반영한 1에 +1 을 하여 2 로 만들어
vlookup의 2번째 열인 2008년 값들중에서 찾을 수 있게 하는 것입니다.

5.match에서 +1 을 하는 이유는
vlookup 의 범위에서 열을 찾는 것이잖아요.
대, 중, 소 의 위치를 찾아 match 함수에서 상대위치를 반환합니다.
즉 대이면 1, 중이면 2, 소이면 3을 반환하는데
vlookup의 참조범위인 $G$31:$J$35 에서 첫번째 열은 제품번호 이므로 2번째 열부터 가져와야 합니다.
그렇기 때문에 2번째 열부터 표시 하기 위해 +1 을 하여
대이면 2번열, 중이면 3번열, 소이면 4번열에서 값을 찾게 하는 것입니다.
좋은 하루 되세요.