![텍스트 추출(대문자)](https://rvso.com/image/1482495/%ED%85%8D%EC%8A%A4%ED%8A%B8%20%EC%B6%94%EC%B6%9C(%EB%8C%80%EB%AC%B8%EC%9E%90).png)
은행 거래 내역을 다운로드하고 설명 줄 끝에 있는 고객 이름을 추출하고 싶습니다. 일부 줄에는 고객 이름 앞에 한두 단어가 있습니다. 모두 대문자로 된 이름을 어떻게 추출할 수 있습니까?
문자에서 전송된 금액도 추출해서 숫자로 변환해야 합니다.
DESCRIPTION AMOUNT
TRSF E-BANKING DB 2701/FTSCY/WS95051 12000.00 JAMES BOND 12,000.00 DB
TRSF E-BANKING CR 2701/FTSCY/WS95051 10000.00 deposit CHRISTINE 10,000.00 CR
TRSF E-BANKING CR 2701/FTSCY/WS95051 25025.00 AMANDA B GREEN 25,025.00 CR
TRSF E-BANKING CR 2701/FTSCY/WS95051 5000.00 msn1888 JOSH BROWN 5,000.00 CR
TRSF E-BANKING CR 2701/FTSCY/WS95051 1000.00 topup CHRISTINE 1,000.00 CR
결과:
CUSTOMER TRANSFER
JAMES BOND 12,000
CHRISTINE 10,000
AMAND B GREEN 25,025
JOSH BROWN 5,000
CHRISTINE 1,000
TOTAL 53,025
답변1
매크로/VBA 사용:
Public Function extract_name(transaction As String)
Dim WordArray() As String
WordArray() = Split(transaction, " ")
firstName = WordArray(5)
extract_name = firstName
extract_name_uc = UCase(extract_name)
If extract_name = extract_name_uc Then
topBound = 5
Else
topBound = 6
End If
extract_name = ""
For i = topBound To UBound(WordArray)
tempValue = WordArray(i)
If IsNumeric(tempValue) Then
i = UBound(WordArray)
Else
extract_name = extract_name & " " & tempValue
End If
Next i
extract_name = Trim(extract_name)
End Function
Public Function extract_amount(transaction As String)
Dim WordArray() As String
WordArray() = Split(transaction, " ")
extract_amount = WordArray(UBound(WordArray) - 1)
End Function
extract_name
과 두 가지 기능이 있습니다 extract_amount
.
ALT+F11로 VBA를 열고 아래에 모듈을 삽입합니다.이워크북그리고 오른쪽에 코드를 붙여넣으세요.
TRSF E-BANKING DB 2701/FTSCY/WS95051 12000.00 JAMES BOND 12,000.00 DB
그것이 세포에 있다고 가정A2그 다음에:
지하 2층 =extract_name(A2)
그리고C2 =extract_amount(A2)
.