두 번째/연속 괄호 안의 데이터를 추출하는 공식

두 번째/연속 괄호 안의 데이터를 추출하는 공식

아래에서 숫자만 있는 경우 괄호 사이의 데이터를 추출하고 싶습니다.

Nissan - X-Trail 출시(5월)(6월) - SO9158518(65124817) 관광 - Curious 2017(뉴스)(44124469)

답변1

이 사용자 정의 함수를 사용해 보세요:

Public Function parens(t As String) As String
    Dim i As Long, L As Long, CH As String
    Dim x As String, y As String, temp As String
    Dim ary() As String, Kapture As Boolean, a As Variant
    Dim j As Long

    parens = ""
    L = Len(t)
    x = "("
    y = ")"
    Kapture = False
    temp = ""
    j = 1

    For i = 1 To L
        CH = Mid(t, i, 1)
        If CH = x Then
            Kapture = True
            temp = ""
            ReDim Preserve ary(1 To j)
            j = j + 1
        ElseIf CH = y Then
            ary(UBound(ary)) = temp
        Else
            If Kapture Then temp = temp & CH
        End If
    Next i

    For Each a In ary
        If IsNumeric(a) Then
            parens = a
            Exit Function
        End If
    Next a
End Function

여기에 이미지 설명을 입력하세요

숫자 값을 찾을 때까지 괄호 안에 있는 자료를 추출합니다.

사용자 정의 함수(UDF)는 설치 및 사용이 매우 쉽습니다.

  1. ALT-F11은 VBE 창을 불러옵니다
  2. ALT-I ALT-M은 새로운 모듈을 엽니다
  3. 내용을 붙여넣고 VBE 창을 닫습니다.

통합 문서를 저장하면 UDF도 함께 저장됩니다. 2003 이후 Excel 버전을 사용하는 경우 파일을 .xlsx가 아닌 .xlsm으로 저장해야 합니다.

UDF를 제거하려면:

  1. 위와 같이 VBE 창을 불러옵니다
  2. 코드를 지워라
  3. VBE 창을 닫습니다

Excel에서 UDF를 사용하려면:

=parens(A1)

일반적인 매크로에 대해 자세히 알아보려면 다음을 참조하세요.

http://www.mvps.org/dmcritchie/excel/getstarted.htm

그리고

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

UDF에 대한 자세한 내용은 다음을 참조하세요.

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

이 작업을 수행하려면 매크로를 활성화해야 합니다!

관련 정보