|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007):
* 아래줄에 질문을 작성하세요 >>
안녕하세요
주차권 지급된 일련번호를 통하여 지급된 매수를 구하는 작업을 하고자 합니다.
예를 들어 아래와 같은 주차권 지출된 일련번호를 매수를 표시하는 방법입니다.
1시간할인권_no3841 ~ 3846 : 6
일일할인권_1059 ~ 1078 : 20
1시간할인권_no3847 : 1
1시간할인권_no3848 ~ 3853 : 6
일일할인권_1079 : 1071
그런데, 원하는 결과값이 표시되지 않고, #VALUE! 또는 전혀 관련이 없는 숫자(사례 1071 )이 표시됩니다.
제가 작업한 함수는 [=RIGHT(B3,4)-MID(B3,10,4)+1 ] 입니다.
첨부파일을 살펴봐주시고 함수입력에서 잘못된 부분을 도와주시면 고맙겠습니다.
감사합니다.
==============[박인호님 글에 대한 답변입니다]==============
사용자 정의 함수를 만들어 봤습니다..
첨부화일 참조하세요.
Function getResult(sText As String)
Dim vText, vX, vY
Dim iCount As Integer
Application.Volatile
sText = Replace(sText, " ", "")
sText = Replace(sText, "_no", "_")
sText = Replace(sText, ",no", "_")
sText = Replace(sText, ",", "_")
sText = Replace(sText, "~no", "~")
sText = Mid(sText, InStr(sText, "_") + 1)
vText = Split(sText, "_")
iCount = 0
For Each vX In vText
If InStr(vX, "~") Then
vY = Split(vX, "~")
iCount = iCount + (vY(UBound(vY)) - vY(LBound(vY)) + 1)
Else
iCount = iCount + 1
End If
Next
getResult = iCount
End Function
|
|