1. 2번에서 IFERROR함수 이용해서 구하는 문제에서 오류 시 값을 내는 부분에 약제비총액*부담금의 수식을 넣어서 문제를 풀었더니 정확한 값을 불러오지 않았는데 왜 IFERROR 앞부분인 인수 부분에 약제비총액*부담금의 수식을 넣어야 하는지 궁금합니다.
2. 그리고 3번 문제의 배열 수식 함수에서 SUM과 IF를 사용하는 배열수식에서 조건에 왜*1을 해주는지 이해가 안되는 부분입니다. 답을 보지 않고 *1을 쓰지 않은 상태에서 배열 수식을 작성하면 값이 0으로 뜨고 *1을 해주니 정확한 값을 도출할 수 있었습니다. 다른 문제들은 그렇지 않은데 이 문제는 *1 을 왜 해주는지 이해가 되지 않습니다. 상세한 설명 부탁드립니다.
이상 궁금한 점 질문 드립니다.
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 을 하는 것입니다.
2.
MID 함수는 결과를 문자로 나타냅니다.
결과 값이 1이 나와도 문자 "1" 이 나오기 때문에 비교할 값이 문자가 아닌 경우 정확한 값이 나오지 않습니다.
비교할 값이 숫자인 경우 MID 함수의 결과를 숫자로 만들어줘야하기 때문에 *1를 한 것입니다.
좋은 하루 되세요.
-
*2017-07-30 21:24:59
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 을 하는 것입니다.
2.
MID 함수는 결과를 문자로 나타냅니다.
결과 값이 1이 나와도 문자 "1" 이 나오기 때문에 비교할 값이 문자가 아닌 경우 정확한 값이 나오지 않습니다.
비교할 값이 숫자인 경우 MID 함수의 결과를 숫자로 만들어줘야하기 때문에 *1를 한 것입니다.
좋은 하루 되세요.