컴활1급계산문제인데요.
문제는 부담금이 텍스트이면 텍스트를 그대로 표시하고,그렇지 않으면 "약제비총액*부담급"을 계산하는 것입니다.
근데 iferror함수는 (수식,에러가날경우수식)이거 아닌가요?
이 문제의 답은
=iferror(i3*vlookup(i3,$A$34:$D$37,match(G3,$B$33:$D$33,1)+1,vlookup(i3,$4$34:$D$37,match(G3,$B$33:$D$33,1)+1))입니다. 여기서도 이해가 되지않는 부분이있는데요.
match함수에서 matchtype이 왜1인가요? 그리고 그 뒤에 +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))
식이나 식 자체의 값이 오류가 나면 오류값을 표시합니다.
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 을 하는 것입니다.
감사합니다.
-
*2015-08-31 06:21:31
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 을 하는 것입니다.
감사합니다.