Skip to main content

Excel에서 두 번째 공백 또는 쉼표 이전/이후의 텍스트를 추출하는 방법은 무엇입니까? 

Author: Xiaoyang Last Modified: 2025-08-06

Excel에서 텍스트 데이터를 다룰 때, 여러 개의 공백, 쉼표 또는 기타 구분 기호가 포함된 문자열을 자주 접할 수 있습니다. Excel의 'Text to Columns' 기능은 선택한 구분 기호를 기준으로 셀 내용을 별도의 열로 분할할 수 있지만, 특정 상황에서는 더 구체적인 해결책이 필요할 수 있습니다. 예를 들어, 셀 내 두 번째 공백이나 쉼표 이전 또는 이후에 오는 모든 내용을 추출하는 작업이 필요할 수 있습니다. 이 문서에서는 두 번째 공백/쉼표 이전 또는 이후의 텍스트를 대상으로 하는 수식, 자동화 또는 대규모 데이터셋 처리를 위한 VBA 매크로를 사용한 강력한 솔루션, 그리고 고급 데이터 전처리를 위한 Power Query를 활용한 다양한 옵션을 포함한 몇 가지 실용적인 방법을 소개합니다.

a screenshot of the original text string and the two segments separated by the second space

수식을 사용하여 두 번째 공백 또는 쉼표 이전의 텍스트 추출하기

수식을 사용하여 두 번째 공백 또는 쉼표 이후의 텍스트 추출하기

VBA 코드를 사용하여 두 번째 구분 기호(공백/쉼표) 이전 또는 이후의 텍스트 추출하기


수식을 사용하여 두 번째 공백 또는 쉼표 이전의 텍스트 추출하기

두 번째 공백 이전에 나타나는 셀의 일부를 분리하려면, Excel 함수를 조합하여 사용할 수 있습니다. 

1. 결과를 표시하려는 빈 셀에 다음 수식을 입력하세요 (예: 셀 C2):

=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1)))

2. Enter 키를 누릅니다. 그런 다음 필드 핸들을 드래그하여 처리하고자 하는 모든 행에 수식을 적용합니다. 결과적으로 각 해당 행의 두 번째 공백 이전에 있는 모든 텍스트가 표시됩니다 — 아래 스크린샷 참조:

: 두 번째 쉼표 또는 다른 구분 기호 이전의 텍스트를 추출하려면, 수식의 공백 문자(" ")를 원하는 구분 기호로 바꾸세요. 쉼표의 경우:

=IF(ISERROR(FIND(",",A2,FIND(",",A2,1)+1)),A2,LEFT(A2,FIND(",",A2,FIND(",",A2,1)+1)))

이 접근법은 일회성 추출 작업이나 중간 크기의 데이터 세트를 다룰 때 빠르고 효율적입니다. 그러나 텍스트가 매우 불규칙하거나 행 간 구분 기호의 수가 크게 변하는 경우 추가적인 수식 조정이 필요할 수 있습니다. 또한, 여분의 공백이나 비어있는 셀이 결과에 영향을 미칠 수 있으므로 항상 주의해야 합니다. 중요한 데이터에 적용할 때는 출력을 다시 확인하세요.

a screenshot of kutools for excel ai

Kutools AI로 엑셀의 마법을 풀다

  • 스마트 실행: 셀 작업 수행, 데이터 분석 및 차트 생성 - 간단한 명령어로 모든 것을 처리합니다.
  • 사용자 정의 수식: 작업을 간소화하기 위한 맞춤형 수식을 생성합니다.
  • VBA 코딩: 손쉽게 VBA 코드를 작성하고 실행합니다.
  • 수식 해석: 복잡한 수식도 쉽게 이해할 수 있습니다.
  • 텍스트 번역: 스프레드시트 내 언어 장벽을 허물어 보세요.
AI 기반 도구로 엑셀 활용 능력을 강화하세요. 지금 다운로드하여 그 어느 때보다 높은 효율성을 경험해 보세요!

수식을 사용하여 두 번째 공백 또는 쉼표 이후의 텍스트 추출하기

셀 내 두 번째 공백 구분 기호 이후에 나타나는 텍스트를 추출하려면 MIDFIND 함수를 함께 사용할 수 있습니다. 

1. 대상 셀에 다음 수식을 입력하세요 (예: D2):

=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256)

2. Enter 키를 누릅니다. 추출이 필요한 모든 행에 대해 채우기 핸들을 드래그하세요. 그러면 각 행의 두 번째 공백 이후에 오는 모든 텍스트가 표시됩니다 — 스크린샷 참조:

: 두 번째 쉼표 또는 다른 구분 기호 이후의 텍스트를 추출하려면, 수식의 공백 문자를 원하는 구분 기호로 교체하세요. 쉼표의 경우, 수식은 다음과 같습니다:

=MID(A2, FIND(",", A2, FIND(",", A2)+1)+1,256)

VBA 코드를 사용하여 두 번째 구분 기호(공백/쉼표) 이전 또는 이후의 텍스트 추출하기

대규모 데이터 세트, 반복적인 추출 작업 또는 자동화 시나리오에서는 VBA 매크로를 사용하는 것이 효과적인 솔루션입니다. VBA를 사용하면 두 번째 공백, 쉼표 또는 다른 구분 기호 이전 또는 이후의 텍스트를 추출할 수 있어, 다양한 데이터 구조를 다루거나 반복 가능한 프로세스가 필요한 경우 효율성을 높일 수 있습니다.

1. 개발 도구 > Visual Basic을 선택합니다. Microsoft Visual Basic for Applications 창이 나타나면, 삽입 > 모듈을 클릭하고 모듈 창에 다음 코드를 입력합니다:

Sub ExtractTextSecondDelimiter()
    Dim rng As Range
    Dim cell As Range
    Dim sep As String
    Dim direction As String
    Dim arr As Variant
    Dim result As String
    Dim pos1 As Long
    Dim pos2 As Long
    Dim xTitleId As String
    Dim outputCell As Range
    Dim i As Long
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select text range to extract from", xTitleId, rng.Address, Type:=8)
    If rng Is Nothing Then Exit Sub
    sep = Application.InputBox("Enter delimiter (e.g. space or comma)", xTitleId, " ", Type:=2)
    If sep = "" Then Exit Sub
    direction = Application.InputBox("Type 'before' for text before, 'after' for text after the 2nd delimiter", xTitleId, "before", Type:=2)
    If direction = "" Then Exit Sub
    Set outputCell = Application.InputBox("Select the first cell to output the result", xTitleId, Type:=8)
    If outputCell Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    i = 0
    For Each cell In rng
        If Not IsEmpty(cell.Value) Then
            pos1 = InStr(1, cell.Value, sep)
            If pos1 > 0 Then
                pos2 = InStr(pos1 + 1, cell.Value, sep)
                If pos2 > 0 Then
                    If LCase(direction) = "before" Then
                        result = Left(cell.Value, pos2 - 1)
                    ElseIf LCase(direction) = "after" Then
                        result = Mid(cell.Value, pos2 + Len(sep))
                    Else
                        result = cell.Value
                    End If
                Else
                    result = cell.Value
                End If
            Else
                result = cell.Value
            End If
            outputCell.Offset(i, 0).Value = result
        End If
        i = i + 1
    Next
    Application.ScreenUpdating = True
    MsgBox "Extraction completed.", vbInformation, xTitleId
End Sub

2코드를 붙여넣은 후, Run button 실행 버튼을 클릭하거나, F5 키를 눌러 실행합니다. 대화 상자가 데이터 범위를 선택하도록 요구하며, 구분 기호를 입력하고, 두 번째 발생 위치 이전 또는 이후의 텍스트를 지정하고, 마지막으로 결과를 출력할 셀을 선택합니다. 매크로는 지정된 셀에 추출된 결과를 출력합니다.


최고의 오피스 생산성 도구

🤖 Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행   |  코드 생성  |  사용자 정의 수식 생성  |  데이터 분석 및 차트 생성  |  Kutools Functions 호출
인기 기능: 중복 찾기, 강조 또는 중복 표시  |  빈 행 삭제  |  데이터 손실 없이 열 또는 셀 병합  |  반올림...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 드롭다운 목록 신속 생성  |  의존형 드롭다운 목록  |  다중 선택 드롭다운 목록....
열 매니저: 지정 개수 열 추가  |  열 이동  |  숨겨진 열 표시 상태 전환 |  범위 및 열 비교 ...
주요 기능: 그리드 포커스  |  디자인 보기  |  향상된 수식 표시줄   통합 문서 & 시트 관리   |  자동 텍스트 라이브러리   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독   목록별 이메일 보내기  |  슈퍼 필터  |  특수 필터 (굵게/이탤릭/취소선 필터...)...
Top15 도구 세트12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...)  |  50+ 차트 유형(간트 차트, ...)  |  40+ 실용 수식(생일을 기반으로 나이 계산, ...)  |  19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...)  |  12개 변환 도구(단어로 변환하기, 통화 변환, ...)  |  7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...)  |  ... 그리고 그 외
Kutools를 원하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40가지 이상의 언어를 지원합니다!

Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...


Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다

  • Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
  • 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
  • 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!