정답이
=IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,1)+1),VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,1) +1))
인데
1. 왜 vlookup이 똑같이 두 번 들어가야하나요?
2. match 세번째에 가장 가까운 값을 넣는 1을 왜 넣는지 모르겠어요 -1, 0도 아니고 1인 이유를..
3. match 함수 뒤에 +1은 왜 하는지 이해가 안 가요..
문제에서 오류에 대한 설명은 없었지만
부담금이 텍스트면 텍스트를 그대로 표시하고, 그렇지 않으면 약제비총액x부담금 으로 계산
이라는 지시사항이 있었기 때문에 iferror 으로 오류를 확인 해야 하는 것입니다.
IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1), VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1))
식이나 식 자체의 값이 오류가 나면 오류값을 표시합니다.
I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1) 은 식이 오류가 아니면 이 식을 그대로 계산하여 표시하고
이 값이 오류가 나면 VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1 의 값을 반환하는 것이죠.
IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1), VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1))
중
VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1 에서 vlookup 의 범위 a34:d37 과 macth의 범위 b33:d33 이 다르기 때문입니다. 열이 틀려서 인 것이죠.
vlookup의 범위는 a열부터 4열 이고 match의 범위는 b열 부터 3열 이므로 match에서 나온 결과를 vlookup의 열로 찾게 되면 한줄씩 당겨져서 표시가 됩니다.
그러므로 vlookup의 결과와 같게 표시하기 위해서 +1 을 하는 것입니다.
1은 match 의 옵션 부분입니다.
-1 : 찾을 값 보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.
0 : 찾을 값에서 첫번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬 되어 있지 않아도 됩니다.
1 : 찾을 값 보다 작거나 같은 값 중에서 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬 되어 있어야 합니다.
생략할시 1로 지정되므로 오름차순 정렬된 상태라면 옵션을 생략하거나 1을 입력하셔도 정확한 결과가 나오는 것입니다.
좋은 하루 되세요.
-
*2018-05-14 15:38:54
문제에서 오류에 대한 설명은 없었지만
부담금이 텍스트면 텍스트를 그대로 표시하고, 그렇지 않으면 약제비총액x부담금 으로 계산
이라는 지시사항이 있었기 때문에 iferror 으로 오류를 확인 해야 하는 것입니다.
IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1), VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1))
식이나 식 자체의 값이 오류가 나면 오류값을 표시합니다.
I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1) 은 식이 오류가 아니면 이 식을 그대로 계산하여 표시하고
이 값이 오류가 나면 VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1 의 값을 반환하는 것이죠.
IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1), VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1))
중
VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1 에서 vlookup 의 범위 a34:d37 과 macth의 범위 b33:d33 이 다르기 때문입니다. 열이 틀려서 인 것이죠.
vlookup의 범위는 a열부터 4열 이고 match의 범위는 b열 부터 3열 이므로 match에서 나온 결과를 vlookup의 열로 찾게 되면 한줄씩 당겨져서 표시가 됩니다.
그러므로 vlookup의 결과와 같게 표시하기 위해서 +1 을 하는 것입니다.
1은 match 의 옵션 부분입니다.
-1 : 찾을 값 보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.
0 : 찾을 값에서 첫번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬 되어 있지 않아도 됩니다.
1 : 찾을 값 보다 작거나 같은 값 중에서 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬 되어 있어야 합니다.
생략할시 1로 지정되므로 오름차순 정렬된 상태라면 옵션을 생략하거나 1을 입력하셔도 정확한 결과가 나오는 것입니다.좋은 하루 되세요.