제품명 mg 앞의 숫자를 찾기위해 mid함수를 사용했는데
len(제품명)-4 이부분이 이해가 안가요 -4를 한이유가 뭔가요
mg 글자 2개 와 공백은 2개 인것도 잇고 1개인것도 잇는데 -4라고 할수 없지 않나요?
그리고
for 함수 사용한것도 이해가 안가요
설명부탁드려요
안녕하세요.
문제의 조건 중
제품명에서 “mg” 앞의 숫자가 100 이상이면
이라는 조건이 있습니다.
파일에서 제품명을 확인하면
건웅 로딘정 100mg
국제 구루메포미정 250mg
와 같이
문자열의 길이는 다르지만 모두 mg라는 글자 앞에 숫자가 2자리 혹은 3자리인 것을 확인할 수 있습니다.
예를 들어 제품명이
건웅 로딘정 100mg
라면,
Mid(제품명, Len(제품명)-4, 3)*1
- Len(제품명)-4 : 제품명 전체 길이에서 4를 뺍니다. 결과는 12-4 = 8입니다.
- MID(제품명, 8, 3) : 제품명의 8번째 자리에서 3글자를 추출합니다.
건웅 로딘정 100mg
공백을 포함해서 8번째 자리는 100의 1이고 여기서 3글자를 추출하면 100이 됩니다.
- 100 * 1 : 추출된 100은 문자입니다. 그래서 계산을 위해 *1을 수행하여 숫자로 만드는 것입니다.
이제 앞선 수식에 넣으면 아래와 같이 됩니다.
IF 100>=100 then
mg 앞의 숫자가 2글자인 경우에는 빈공백과 함께 " 90"이 추출되는데, 여기에 *1을 하면 90으로 인식됩니다.
오늘도 즐거운 하루 되세요.
-
관리자2021-11-04 12:21:40
안녕하세요.
문제의 조건 중
제품명에서 “mg” 앞의 숫자가 100 이상이면
이라는 조건이 있습니다.
파일에서 제품명을 확인하면
건웅 로딘정 100mg
국제 구루메포미정 250mg
와 같이
문자열의 길이는 다르지만 모두 mg라는 글자 앞에 숫자가 2자리 혹은 3자리인 것을 확인할 수 있습니다.
예를 들어 제품명이
건웅 로딘정 100mg
라면,
Mid(제품명, Len(제품명)-4, 3)*1
- Len(제품명)-4 : 제품명 전체 길이에서 4를 뺍니다. 결과는 12-4 = 8입니다.
- MID(제품명, 8, 3) : 제품명의 8번째 자리에서 3글자를 추출합니다.
건웅 로딘정 100mg
공백을 포함해서 8번째 자리는 100의 1이고 여기서 3글자를 추출하면 100이 됩니다.
- 100 * 1 : 추출된 100은 문자입니다. 그래서 계산을 위해 *1을 수행하여 숫자로 만드는 것입니다.
이제 앞선 수식에 넣으면 아래와 같이 됩니다.
IF 100>=100 then
mg 앞의 숫자가 2글자인 경우에는 빈공백과 함께 " 90"이 추출되는데, 여기에 *1을 하면 90으로 인식됩니다.
오늘도 즐거운 하루 되세요.