6회 2-3
If Mid(제품명, Len(제품명) - 4, 3) * 1 >= 100 Then
For a = 1 To Mid(제품명, Len(제품명) - 4, 3) / 100
위 식에서 Mid(제품명, Len(제품명) - 4, 3) * 1 는 어떻게 나온 식인가요?
해설 부탁드립니다.
6회 4-2
제가 쓴 답
[>0]"남성";[<0]"여성";"공통";"반품"
답지
"남성";"여성";"공통";"반품"
둘다 같은 답이 나오는데 두개다 정답인가요?
7회 2-2
MATCH(F4*G4,$B$31:$E$31,1)+1)
위 식에서 왜 1을 더해주는 건가요?
1. 제품명 중 첫번째에 있는 c3 셀의 값을 직접 넣어 계산해 보겠습니다.
c3 셀의 값 '건웅 로딘정 100mg'에서 LEN 함수를 이용하여 전체 글자수를 구하면 12이고,
여기에서 4를 빼면 8이 됩니다.
그럼 mid(제품명,8,3)이 되고, "건웅 로딘정 100mg"에서 8번째부터 3글자를 가져오면 100이 됩니다.
즉, 뒤에서 세글자만 불러오게 되는 거죠...
즉, len(제품명)-4를 하는 이유는 제품명에서 중간에 있는 숫자의 시작 위치를 구하기 위해 작성한 것입니다.
2. 결과가 정확히 나오면 정답으로 인정 됩니다.
3. =MAX(H4*VLOOKUP(E4,$A$32:$E$36,MATCH(F4*G4,$B$31:$E$31,1)+1),100000)
MATCH 함수의 옵션
• -1 : 찾을값보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.
• 0 : 찾을값과 첫 번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬되어 있지 않아도 됩니다.
• 1 : 찾을값보다 작거나 같은 값 중에서 가장 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬되어 있어야 합니다.
$B$31:$E$31 의 범위가 오름차순으로 정렬된 상태이기 때문에 1을 사용한 것입니다.
vlookup에서 지정한 범위는 A열부터 시작인데
match 에서 지정한 범위는 b열 부터이기 때문에
vlookup의 범위를 맞춰 줄려면 +1 을 하여 사용하셔야 합니다.
match의 범위를 그대로 사용하여 1 이 나온 경우
vlookup의 b열에 해당하는 값을 가져오게 되므로 수강인원인 0 이 나올 수 있습니다.
그러므로 +1 을 수강인원이 18인 결과 3%를 가져오기위해 +1을 해주셔야 합니다.
=MAX(H4*VLOOKUP(E4,$A$32:$E$36,MATCH(F4*G4,$B$31:$E$31,1)+1),100000)
빨간색으로 표시한 식에서 나온 결과와, 100000의 결과중 큰값을 표시하게 되는 것입니다.
계산한 수당 금액이 100,000 미만이면 수당 대신 100,000을 입력
이라는 지시사항이 있기 때문에 이렇게 지정한 것이죠.
좋은 하루 되세요.
-
관리자2021-04-15 21:41:15
1. 제품명 중 첫번째에 있는 c3 셀의 값을 직접 넣어 계산해 보겠습니다.
c3 셀의 값 '건웅 로딘정 100mg'에서 LEN 함수를 이용하여 전체 글자수를 구하면 12이고,
여기에서 4를 빼면 8이 됩니다.
그럼 mid(제품명,8,3)이 되고, "건웅 로딘정 100mg"에서 8번째부터 3글자를 가져오면 100이 됩니다.
즉, 뒤에서 세글자만 불러오게 되는 거죠...
즉, len(제품명)-4를 하는 이유는 제품명에서 중간에 있는 숫자의 시작 위치를 구하기 위해 작성한 것입니다.
2. 결과가 정확히 나오면 정답으로 인정 됩니다.
3. =MAX(H4*VLOOKUP(E4,$A$32:$E$36,MATCH(F4*G4,$B$31:$E$31,1)+1),100000)
MATCH 함수의 옵션
• -1 : 찾을값보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.
• 0 : 찾을값과 첫 번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬되어 있지 않아도 됩니다.
• 1 : 찾을값보다 작거나 같은 값 중에서 가장 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬되어 있어야 합니다.
$B$31:$E$31 의 범위가 오름차순으로 정렬된 상태이기 때문에 1을 사용한 것입니다.
vlookup에서 지정한 범위는 A열부터 시작인데
match 에서 지정한 범위는 b열 부터이기 때문에
vlookup의 범위를 맞춰 줄려면 +1 을 하여 사용하셔야 합니다.
match의 범위를 그대로 사용하여 1 이 나온 경우
vlookup의 b열에 해당하는 값을 가져오게 되므로 수강인원인 0 이 나올 수 있습니다.
그러므로 +1 을 수강인원이 18인 결과 3%를 가져오기위해 +1을 해주셔야 합니다.
=MAX(H4*VLOOKUP(E4,$A$32:$E$36,MATCH(F4*G4,$B$31:$E$31,1)+1),100000)
빨간색으로 표시한 식에서 나온 결과와, 100000의 결과중 큰값을 표시하게 되는 것입니다.
계산한 수당 금액이 100,000 미만이면 수당 대신 100,000을 입력
이라는 지시사항이 있기 때문에 이렇게 지정한 것이죠.
좋은 하루 되세요.