부록 3편 page 199
2번문제 질문드립니다.
문제는
iferror, vlookup, match 함수를 이용하여
부담금이 텍스트면 텍스트를 그대로 표시하고, 그렇지 않으면 약제비총액x부담금으로 계산 하라고 나와있습니다.
이때 정답을 조금 쉽게 풀어서 해석해주시면 감사하겠습니다.
아울러 iferror 함수는 IFERROR(인수, 오류 시 표시할 값) 으로 인수가 오류이면 오류시 표시할 값을 반환하고
그렇지 않으면 결과값(인수)을 그대로 반환하는 함수로 알고 있습니다.
즉 문제에서 부담금이 텍스트면 텍스트를 그대로 표시하고 그렇지 않으면 ~ 하라고 했는데
이때 오류값이 어떻게 나오게 되어 iferror를 사용하는것이고 ...
이렇게 상세하게 식을 풀어 설명해주시면 정말 감사하겠습니다.
(문제를 처음 봤을때 어떤 생각으로 어떤식으로 식을 써나가야 하는지 .. 그 사고과정이 궁금합니다)
문제에서 오류에 대한 설명은 없었지만
부담금이 텍스트면 텍스트를 그대로 표시하고, 그렇지 않으면 약제비총액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 을 하는 것입니다.
좋은 하루 되세요.
-
*2016-12-13 13:39:05
문제에서 오류에 대한 설명은 없었지만
부담금이 텍스트면 텍스트를 그대로 표시하고, 그렇지 않으면 약제비총액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 을 하는 것입니다.
좋은 하루 되세요.