안녕하세요 도저히 해설 보고 이해가 안 가서 질문 드립니다 ㅠㅠ
6회 3번 문제에서
제품명에서 "mg"앞의 숫자가 100이상이면 ~~~ "■"를 반복해서 표시하라 했는데
풀이 과정에서
-------------------------------------------------------------
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
1. 제품명 중 첫번째에 있는 c3 셀의 값을 직접 넣어 계산해 보겠습니다.
c3 셀의 값 '건웅 로딘정 100mg'에서 LEN 함수를 이용하여 전체 글자수를 구하면 12이고,
여기에서 4를 빼면 8이 됩니다.
그럼 mid(제품명,8,3)이 되고, "건웅 로딘정 100mg"에서 8번째부터 3글자를 가져오면 100이 됩니다.
즉, 뒤에서 세글자만 불러오게 되는 거죠...
즉, len(제품명)-4를 하는 이유는 제품명에서 중간에 있는 숫자의 시작 위치를 구하기 위해 작성한 것입니다.
2. . a가 1일때 fn기타에는 아무것도 입력되어 있지 않다고 보시면 됩니다. 초기값을 지정하지 않으면 기본적으로 빈 값이라고 보면 됩니다.
. &를 텍스트와 텍스트를 연결해주는 연산자입니다.
fn기타 = fn기타 & "■"
a가 1일때 실행하면 아무것도 입력되어 있지 않은 fn기타의 값과 "■"를 연결하여 fn기타에 넣으므로, fn기타에는 "■"가 들어가 있습니다.
a가 2일때 실행하면 fn기타에 입력되어 있던 "■"에 "■"를 연결하여 fn기타에 저장하므로 "■■"가 됩니다.
a가 3일때 실행하면 fn기타에 입력되어 있던 "■■"에 "■"를 연결하여 fn기타에 저장하므로 "■■■"가 됩니다.
좋은 하루 되세요.
-
관리자2023-02-01 09:53:08
1. 제품명 중 첫번째에 있는 c3 셀의 값을 직접 넣어 계산해 보겠습니다.
c3 셀의 값 '건웅 로딘정 100mg'에서 LEN 함수를 이용하여 전체 글자수를 구하면 12이고,
여기에서 4를 빼면 8이 됩니다.
그럼 mid(제품명,8,3)이 되고, "건웅 로딘정 100mg"에서 8번째부터 3글자를 가져오면 100이 됩니다.
즉, 뒤에서 세글자만 불러오게 되는 거죠...
즉, len(제품명)-4를 하는 이유는 제품명에서 중간에 있는 숫자의 시작 위치를 구하기 위해 작성한 것입니다.
2. . a가 1일때 fn기타에는 아무것도 입력되어 있지 않다고 보시면 됩니다. 초기값을 지정하지 않으면 기본적으로 빈 값이라고 보면 됩니다.. &를 텍스트와 텍스트를 연결해주는 연산자입니다.
fn기타 = fn기타 & "■"
a가 1일때 실행하면 아무것도 입력되어 있지 않은 fn기타의 값과 "■"를 연결하여 fn기타에 넣으므로, fn기타에는 "■"가 들어가 있습니다.
a가 2일때 실행하면 fn기타에 입력되어 있던 "■"에 "■"를 연결하여 fn기타에 저장하므로 "■■"가 됩니다.
a가 3일때 실행하면 fn기타에 입력되어 있던 "■■"에 "■"를 연결하여 fn기타에 저장하므로 "■■■"가 됩니다.
좋은 하루 되세요.