채점프로그램에서 차트 눈금이 틀렸다고 나오는데 제가 보기엔 눈금 표시되지 않도록 한 거 같은데.....
왜 틀렸다고 하는 지 모르겠어요 ㅠㅠ
그리고 149쪽에 사용자 정의 함수 정답 식이 이해가 안되요 ㅠㅠ
그냥 외워야 한다고 해도 이해가 안가니까 외워지지도 않네요 ㅠㅠ
설명 부탁드려도 될까요??
안녕하세요.
기본 가로 눈금선이 '없음'으로 지정되어 있지 않아 감점된 것입니다.
아래 그림은 첨부해 주신 파일의 주 눈금선을 확인한 것입니다. '없음'으로 선택해 주셔야 정답으로 채점됩니다.
사용자 정의 함수
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
Mid(제품명, Len(제품명) - 4, 3) * 1
MID 함수는 문자열 함수로 결과값이 문자로 반환됩니다.
숫자일 경우에도 텍스트 형식의 숫자인 겁니다. 텍스트 형식의 숫자를 수치 데이터인 숫자로 변환해 주기위해 *1을 하는 것입니다.
제품명 중 첫번째에 있는 c3 셀의 값을 직접 넣어 계산해 보겠습니다.
c3 셀의 값 '건웅 로딘정 100mg'에서 LEN 함수를 이용하여 전체 글자수를 구하면 12이고,
여기에서 4를 빼면 8이 됩니다.
그럼 mid(제품명,8,3)이 되고, "건웅 로딘정 100mg"에서 8번째부터 3글자를 가져오면 100이 됩니다.
즉, 뒤에서 세글자만 불러오게 되는 거죠...
즉, len(제품명)-4를 하는 이유는 제품명에서 중간에 있는 숫자의 시작 위치를 구하기 위해 작성한 것입니다.
For a = 1 To Mid(제품명, Len(제품명) - 4, 3) / 100
a는 변수로 변하는 값을 저장합니다. 1부터 Mid(제품명, Len(제품명) - 4, 3) / 100 의 계산 값까지 변합니다.
For 문이 Next 문을 만나 한 바퀴 돌면 1씩 증가하게 되죠.
변수 이름은 임의로 지정 가능합니다.
Next a
For문을 실행하다가 Next를 만나면
다시 For문으로 돌아가고 변수 a는 다음 값인 1 증가된 값을 가지고 For문이 실행됩니다.
For문으로 돌아갔는데, 증가된 a가 Mid(제품명, Len(제품명) - 4, 3) / 100 값보다 커지면 For문이 종료됩니다.
For문을 도는 동안 코드의 변화는 다음과 같습니다.
fn기타 = fn기타 & "■"
a가 1일때 실행하면 아무것도 입력되어 있지 않은 fn기타의 값과 "■"를 연결하여 fn기타에 넣으므로, fn기타에는 "■"가 들어가 있습니다.
a가 2일때 실행하면 fn기타에 입력되어 있던 "■"에 "■"를 연결하여 fn기타에 저장하므로 "■■"가 됩니다.
a가 3일때 실행하면 fn기타에 입력되어 있던 "■■"에 "■"를 연결하여 fn기타에 저장하므로 "■■■"가 됩니다.
좋은 하루 보내세요.
-
관리자2018-12-11 23:49:02
안녕하세요.
기본 가로 눈금선이 '없음'으로 지정되어 있지 않아 감점된 것입니다.
아래 그림은 첨부해 주신 파일의 주 눈금선을 확인한 것입니다. '없음'으로 선택해 주셔야 정답으로 채점됩니다.
사용자 정의 함수
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
Mid(제품명, Len(제품명) - 4, 3) * 1
MID 함수는 문자열 함수로 결과값이 문자로 반환됩니다.
숫자일 경우에도 텍스트 형식의 숫자인 겁니다. 텍스트 형식의 숫자를 수치 데이터인 숫자로 변환해 주기위해 *1을 하는 것입니다.
제품명 중 첫번째에 있는 c3 셀의 값을 직접 넣어 계산해 보겠습니다.
c3 셀의 값 '건웅 로딘정 100mg'에서 LEN 함수를 이용하여 전체 글자수를 구하면 12이고,
여기에서 4를 빼면 8이 됩니다.
그럼 mid(제품명,8,3)이 되고, "건웅 로딘정 100mg"에서 8번째부터 3글자를 가져오면 100이 됩니다.
즉, 뒤에서 세글자만 불러오게 되는 거죠...
즉, len(제품명)-4를 하는 이유는 제품명에서 중간에 있는 숫자의 시작 위치를 구하기 위해 작성한 것입니다.
For a = 1 To Mid(제품명, Len(제품명) - 4, 3) / 100
a는 변수로 변하는 값을 저장합니다. 1부터 Mid(제품명, Len(제품명) - 4, 3) / 100 의 계산 값까지 변합니다.
For 문이 Next 문을 만나 한 바퀴 돌면 1씩 증가하게 되죠.
변수 이름은 임의로 지정 가능합니다.
Next a
For문을 실행하다가 Next를 만나면
다시 For문으로 돌아가고 변수 a는 다음 값인 1 증가된 값을 가지고 For문이 실행됩니다.
For문으로 돌아갔는데, 증가된 a가 Mid(제품명, Len(제품명) - 4, 3) / 100 값보다 커지면 For문이 종료됩니다.
For문을 도는 동안 코드의 변화는 다음과 같습니다.
fn기타 = fn기타 & "■"
a가 1일때 실행하면 아무것도 입력되어 있지 않은 fn기타의 값과 "■"를 연결하여 fn기타에 넣으므로, fn기타에는 "■"가 들어가 있습니다.
a가 2일때 실행하면 fn기타에 입력되어 있던 "■"에 "■"를 연결하여 fn기타에 저장하므로 "■■"가 됩니다.
a가 3일때 실행하면 fn기타에 입력되어 있던 "■■"에 "■"를 연결하여 fn기타에 저장하므로 "■■■"가 됩니다.
좋은 하루 보내세요.