Excel에서 여러 번 셀의 문자열을 구문 분석하는 방법은 무엇입니까?

센티 마인

데이터 시트에 다른 열에 배치하려는 문자열이 포함 된 열이 있습니다. 이 문자열은 여러 번 발생할 수 있으며 모든 인스턴스를 다른 열에 배치하려고합니다. 열이 구분되어 있으며 일치하는 문자열을 구분 기호까지 가져오고 싶습니다.

예 :

Possessions
Fruit: apple, Car: Ford, Fruit: banana,
Car: Saturn,
Fruit: orange,

다음 열에 다음을 포함하고 싶습니다.

Fruit
Fruit: apple, Fruit: banana,

Fruit: orange,

문자열의 첫 번째 인스턴스를 쉽게 찾을 수 있습니다 (새 줄은 가독성을위한 것임).

MID(A2, 
    FIND( *first instance of Fruit:* ), 
    FIND( *first comma after Fruit:* ) - FIND( *first instance of Fruit:* )
    )

그러나 나는 여러 번 문자열을 만날 수 있으며 모두 잡기를 원합니다.

또한 열은 이미 계산 된 필드 (다른 시트에 대한 참조)이므로 구분 기호에서 분할 할 열에 텍스트를 사용할 수 없습니다.

문자열의 모든 인스턴스를 반환하는 방법에 대한 아이디어가 있습니까? 가능하면 VBA 스크립트를 피하고 워크 시트 함수를 사용하고 싶지만 함수를 사용할 수없는 경우 VBA에 열려 있습니다.

Nixda

정규식을 사용하는 일반 VBA 솔루션

이 방법은 사용자의 요구를 충족해야합니다. 다른 사용자가 정규 표현식의 도움으로 주어진 문자열에서 여러 문자열을 추출하는 데 사용할 수도 있습니다.

여기에 이미지 설명 입력

  1. VBA 편집기 ( ALT+ F11)를 엽니 다.
  2. 새 모듈 ( ! )을 삽입 하고 아래 코드를 붙여 넣습니다.
  3. Excel로 돌아가서 출력하려는 ​​셀에서이 수식을 사용합니다.

    =REGEXTRACT(A1, "Fruit: .*?,")
    

공식 설명

  • =REGEXTRACT() 새로운 사용자 지정 공식입니다.
  • A1 입력 데이터가있는 셀입니다.
  • Fruit: .*?,fruit다음 쉼표까지 모든 항목 및 일치 항목을 찾는 정규 표현식 입니다.
Function REGEXTRACT(objCell As Range, strPattern As String)

    Dim objMatches As Object
    Dim RegEx As Object
    Set RegEx = CreateObject("VBScript.RegExp")

    RegEx.IgnoreCase = True
    RegEx.Global = True
    RegEx.Pattern = strPattern

    Set objMatches = RegEx.Execute(objCell.Value)

    If objMatches.Count <> 0 Then
        For Each objMatch In objMatches
            REGEXTRACT= REGEXTRACT+ objMatch.Value
        Next objMatch
    Else: REGEXTRACT= ""
    End If

End Function

힌트 : Look-Behind 및 Look-Ahead 표현식은 VB의 정규식 엔진에서 지원되지 않습니다. 따라서 RegEx를 통해 쉼표를 제외하는 것은 간단하지 않습니다. 그러나 일반적인 VBA 문자열 작업을 통해 가능합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

여러 줄 문자열의 하위 문자열을 여러 번 반복하는 방법은 무엇입니까?

분류에서Dev

다른 여러 파일의 파일에서 문자열을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Python에서 문자열의 입력을 구문 분석하는 더 좋은 방법은 무엇입니까?

분류에서Dev

여러 번 반복되는 구분 기호 유형에 따라 문자열을 여러 열로 분할하는 방법은 무엇입니까?

분류에서Dev

서버 측의 문자열에서 Elementree XML 구문 분석을 사용하는 방법은 무엇입니까?

분류에서Dev

이 문자가 JavaScript의 동일한 문자열 내에서 여러 번 사용될 때 특수 문자로 구분 된 끝에서 문자열을 자르는 방법은 무엇입니까?

분류에서Dev

정규식을 사용하여 변수의 문자열 내부에서 R123 [i] 패턴을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

행 / 셀 내에서 문자열 목록을 여러 줄로 분리하는 방법은 무엇입니까?

분류에서Dev

여러 다른 열에서 한 파일의 열을 구문 분석하고 출력을 연결하는 방법은 무엇입니까?

분류에서Dev

r의 여러 지점에서 문자열 열을 분할하는 방법은 무엇입니까?

분류에서Dev

첫 번째 출력 앞에 문자열과 값 사이의 쉼표 구분을 사용하여 여러 배열 / 목록에서 여러 값을 인쇄하는 방법은 무엇입니까?

분류에서Dev

배열 내에서 동일한 문자열 값을 여러 번 선언하는 방법은 무엇입니까?

분류에서Dev

iOS에서 이러한 유형의 JSON 응답을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Java에서 이러한 유형의 JSON을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Java에서 이러한 유형의 JSON을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

SQL Server : 열 값을 구문 분석하고 개별 테이블의 여러 열에 삽입하는 방법은 무엇입니까?

분류에서Dev

정규식으로 한 번에 문자열의 여러 부분을 캡처하는 방법은 무엇입니까?

분류에서Dev

각 행에 여러 열이있는 CSV 파일을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Lua를 통해 여러 번 발생하는 xml 파일의 특정 태그 속성 값을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Jinja2에서 문자열을 여러 번 교체하는 방법은 무엇입니까?

분류에서Dev

PowerShell의 다른 문자열에 여러 줄 문자열을 삽입하는 방법은 무엇입니까?

분류에서Dev

ksh에서 포트 번호의 문자열을 구문 분석하는 방법

분류에서Dev

Flutter에서 여러 구분 기호로 문자열을 분할하는 방법은 무엇입니까?

분류에서Dev

하이브의 문자열에서 날짜를 구문 분석하는 방법은 무엇입니까?

분류에서Dev

한 부분에 공백이있을 때 문자열을 여러 변수로 구문 분석하는 방법은 무엇입니까?

분류에서Dev

HTML 태그를 여러 번 구문 분석하는 방법은 무엇입니까? PHP

분류에서Dev

C의 문자열에서 정수 시퀀스를 구문 분석하는 방법은 무엇입니까?

분류에서Dev

PHP의 문자열에서 온도를 올바르게 구문 분석하는 방법은 무엇입니까?

분류에서Dev

패턴의 여러 발생에서 부분 문자열을 자르는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    여러 줄 문자열의 하위 문자열을 여러 번 반복하는 방법은 무엇입니까?

  2. 2

    다른 여러 파일의 파일에서 문자열을 구문 분석하는 방법은 무엇입니까?

  3. 3

    Python에서 문자열의 입력을 구문 분석하는 더 좋은 방법은 무엇입니까?

  4. 4

    여러 번 반복되는 구분 기호 유형에 따라 문자열을 여러 열로 분할하는 방법은 무엇입니까?

  5. 5

    서버 측의 문자열에서 Elementree XML 구문 분석을 사용하는 방법은 무엇입니까?

  6. 6

    이 문자가 JavaScript의 동일한 문자열 내에서 여러 번 사용될 때 특수 문자로 구분 된 끝에서 문자열을 자르는 방법은 무엇입니까?

  7. 7

    정규식을 사용하여 변수의 문자열 내부에서 R123 [i] 패턴을 구문 분석하는 방법은 무엇입니까?

  8. 8

    행 / 셀 내에서 문자열 목록을 여러 줄로 분리하는 방법은 무엇입니까?

  9. 9

    여러 다른 열에서 한 파일의 열을 구문 분석하고 출력을 연결하는 방법은 무엇입니까?

  10. 10

    r의 여러 지점에서 문자열 열을 분할하는 방법은 무엇입니까?

  11. 11

    첫 번째 출력 앞에 문자열과 값 사이의 쉼표 구분을 사용하여 여러 배열 / 목록에서 여러 값을 인쇄하는 방법은 무엇입니까?

  12. 12

    배열 내에서 동일한 문자열 값을 여러 번 선언하는 방법은 무엇입니까?

  13. 13

    iOS에서 이러한 유형의 JSON 응답을 구문 분석하는 방법은 무엇입니까?

  14. 14

    Java에서 이러한 유형의 JSON을 구문 분석하는 방법은 무엇입니까?

  15. 15

    Java에서 이러한 유형의 JSON을 구문 분석하는 방법은 무엇입니까?

  16. 16

    SQL Server : 열 값을 구문 분석하고 개별 테이블의 여러 열에 삽입하는 방법은 무엇입니까?

  17. 17

    정규식으로 한 번에 문자열의 여러 부분을 캡처하는 방법은 무엇입니까?

  18. 18

    각 행에 여러 열이있는 CSV 파일을 구문 분석하는 방법은 무엇입니까?

  19. 19

    Lua를 통해 여러 번 발생하는 xml 파일의 특정 태그 속성 값을 구문 분석하는 방법은 무엇입니까?

  20. 20

    Jinja2에서 문자열을 여러 번 교체하는 방법은 무엇입니까?

  21. 21

    PowerShell의 다른 문자열에 여러 줄 문자열을 삽입하는 방법은 무엇입니까?

  22. 22

    ksh에서 포트 번호의 문자열을 구문 분석하는 방법

  23. 23

    Flutter에서 여러 구분 기호로 문자열을 분할하는 방법은 무엇입니까?

  24. 24

    하이브의 문자열에서 날짜를 구문 분석하는 방법은 무엇입니까?

  25. 25

    한 부분에 공백이있을 때 문자열을 여러 변수로 구문 분석하는 방법은 무엇입니까?

  26. 26

    HTML 태그를 여러 번 구문 분석하는 방법은 무엇입니까? PHP

  27. 27

    C의 문자열에서 정수 시퀀스를 구문 분석하는 방법은 무엇입니까?

  28. 28

    PHP의 문자열에서 온도를 올바르게 구문 분석하는 방법은 무엇입니까?

  29. 29

    패턴의 여러 발생에서 부분 문자열을 자르는 방법은 무엇입니까?

뜨겁다태그

보관