2014년 1회 1급 E형
193p 2번의 2번문제
MATCH 함수의 옵션부분을 왜 1로 두고, MATCH 함수에 왜 다시 +1을 하는지 궁금해요
부담금이 텍스트면 텍스트를 그대로 표시하라는데 텍스트의 기준이 뭔가요? 텍스트가 아니면 뭐죠?
2번의 3번문제
MID 함수에 *1 은 왜 하는거죠?
5번문제
사용자정의함수를
If 약제비총액 >= 10000 And 나이 >= 65 Then
fn본인부담금 = 약제비총액 * 0.1
ElseIf 약제비총액 >= 10000 And 나이 < 65 Then
fn본인부담금 = 약제비총액 * 0.3
Else
fn본인부담금 = 약제비총액 * 0.5
End If
라고 두어도 결과는 같은데 이렇게 작성해도 되나요?
1.
-1 : 찾을 값 보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.
0 : 찾을 값에서 첫번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬 되어 있지 않아도 됩니다.
1 : 찾을 값 보다 작거나 같은 값 중에서 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬 되어 있어야 합니다.
생략할시 1로 지정되므로 오름차순 정렬된 상태라면 옵션을 생략하거나 1을 입력하셔도 정확한 결과가 나오는 것입니다.
vlookup 함수에서는 범위를 b열부터 지정하였고, match 함수에서는 범위를 c열부터 지정하였습니다.
vlookup 함수의 두번째 열에 있는 값을 넣으려면 match 함수의 결과값에 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))
중
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 을 하는 것입니다.
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
의 값을 반환하는 것이죠.
문자값에 숫자값을 곱하게 되면 오류가 납니다. 그렇게 오류인지 아닌지 확인 하는 것입니다.
left, mid, right 함수의 결과는 문자로 나타납니다.
1이 나와도 문자 "1" 이 나오기 때문에 비교할 값도 문자 "1" 로 작성하거나
비교할 값이 숫자인 경우는 mid 에서 나온 결과를 수자로 만들어 줘야 하므로
*1 을 한 것입니다.
지시사항에 맞게 지정하고 정확한 결과가 나온다면 상관 없습니다.
좋은 하루 되세요.
-
*2016-01-08 15:36:33
1.
-1 : 찾을 값 보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.
0 : 찾을 값에서 첫번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬 되어 있지 않아도 됩니다.
1 : 찾을 값 보다 작거나 같은 값 중에서 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬 되어 있어야 합니다.
생략할시 1로 지정되므로 오름차순 정렬된 상태라면 옵션을 생략하거나 1을 입력하셔도 정확한 결과가 나오는 것입니다.vlookup 함수에서는 범위를 b열부터 지정하였고, match 함수에서는 범위를 c열부터 지정하였습니다.
vlookup 함수의 두번째 열에 있는 값을 넣으려면 match 함수의 결과값에 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))
중
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 을 하는 것입니다.
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
의 값을 반환하는 것이죠.
문자값에 숫자값을 곱하게 되면 오류가 납니다. 그렇게 오류인지 아닌지 확인 하는 것입니다.
left, mid, right 함수의 결과는 문자로 나타납니다.
1이 나와도 문자 "1" 이 나오기 때문에 비교할 값도 문자 "1" 로 작성하거나
비교할 값이 숫자인 경우는 mid 에서 나온 결과를 수자로 만들어 줘야 하므로
*1 을 한 것입니다.
지시사항에 맞게 지정하고 정확한 결과가 나온다면 상관 없습니다.
좋은 하루 되세요.