문제2의 3번에서 정답이이렇게 써있는데
------------------------------------------------
Public Function fn비고(제품명)
If Mid(제품명, Len(제품명) - 4, 3) * 1 >= 100 Then
For a = 1 To Mid(제품명, Len(제품명) - 4, 3) / 100
fn비고 = fn비고 & "■"
Next a
Else
fn비고 = ""
End If
End Function
------------------------------------------------
MID괄호 옆에 곱한 빨간색 부분은 왜 있는건가요??
또 어떤 경우에 저렇게 곱해야하는건가요?
mid 에서 나온 값이 문자이므로 숫자로 변경 하기 위해 *1 을 하는 것입니다.
mid, right, left 함수는 문자열 함수로 여기서 나온 결과가 숫자라고 해도 문자로 표시됩니다.
문자로 표시된 숫자를 숫자로 사용하기 위해서 *1 을 해주면 이 값이 숫자가 되므로 *1 을 한 것입니다.
vlookup의 범위의 첫 번째 열은 vlookup에서 찾을 값이 포함 되어야 합니다.
vlookup에서 찾는 값이 b3 인데 a열 부터 잡으면 결과에 오류가 나는 것이죠.
min(B3:B28)로 최소값을 구해서 vlookup의 찾을 값으로 지정해야 합니다.
Vlookup(찾을값, 범위, 열번호, 옵션)에서 찾을값을 범위의 첫번째 열에서 찾아 범위 중 열번호에 해당하는 값을 반환합니다.
찾을값은 min 함수로 구한 최소값이 되고,
범위는 최소값을 찾을 첫 번째 열을 포함한 데이터 영역이어야 합니다.
a열은 '제품코드'로 최소값을 구한 B열 '출시일자'가 첫 번째 열이 되어야 값을 찾을 수 있습니다.
그래서 [B3:I28]이 됩니다.
범위가 [B3:I28] 이므로, 값을 가져올 열 번호는 2가 되어야 합니다.
하나의 셀에 값을 구할 때는 범위가 변경 되지 않기 때문에 절대참조를 하지 않아도 됩니다.
절대참조를 사용하는 이유가 채우기 핸들을 사용할 때 변경 되지 않아야 하는 범위를 고정하기 위한 것이니까요.
좋은 하루 보내세요.
-
관리자2021-01-23 14:11:43
mid 에서 나온 값이 문자이므로 숫자로 변경 하기 위해 *1 을 하는 것입니다.
mid, right, left 함수는 문자열 함수로 여기서 나온 결과가 숫자라고 해도 문자로 표시됩니다.
문자로 표시된 숫자를 숫자로 사용하기 위해서 *1 을 해주면 이 값이 숫자가 되므로 *1 을 한 것입니다.
vlookup의 범위의 첫 번째 열은 vlookup에서 찾을 값이 포함 되어야 합니다.
vlookup에서 찾는 값이 b3 인데 a열 부터 잡으면 결과에 오류가 나는 것이죠.
min(B3:B28)로 최소값을 구해서 vlookup의 찾을 값으로 지정해야 합니다.
Vlookup(찾을값, 범위, 열번호, 옵션)에서 찾을값을 범위의 첫번째 열에서 찾아 범위 중 열번호에 해당하는 값을 반환합니다.
찾을값은 min 함수로 구한 최소값이 되고,
범위는 최소값을 찾을 첫 번째 열을 포함한 데이터 영역이어야 합니다.
a열은 '제품코드'로 최소값을 구한 B열 '출시일자'가 첫 번째 열이 되어야 값을 찾을 수 있습니다.
그래서 [B3:I28]이 됩니다.
범위가 [B3:I28] 이므로, 값을 가져올 열 번호는 2가 되어야 합니다.
하나의 셀에 값을 구할 때는 범위가 변경 되지 않기 때문에 절대참조를 하지 않아도 됩니다.
절대참조를 사용하는 이유가 채우기 핸들을 사용할 때 변경 되지 않아야 하는 범위를 고정하기 위한 것이니까요.
좋은 하루 보내세요.