KutoolsforOffice— 하나의 솔루션, 다섯 가지 강력한 도구。적은 노력으로 더 큰 성과。

Excel 에서 텍스트 문자열에서만 숫자 추출하는 방법은 무엇인가요?

작성자수정 날짜

Excel 작업 중 「주문 1234」 또는 「점수는 95.6」와 같이 숫자와 텍스트가 혼합된 셀을 자주 접하게 됩니다. 이러한 텍스트 문자열에서 숫자 값만 추출하는 것은 추가 분석, 계산 또는 보고를 위해 종종 필요합니다. 숫자가 문자열의 시작, 끝 또는 중간 어딘가에 위치했는지, 또는 소수점 숫자만 필요한지 여부에 따라 Excel 은 이 작업을 수행하는 여러 가지 실용적인 방법을 제공합니다。

이 가이드에서는 Excel 에서 텍스트 문자열에서 숫자를 추출하는 다양한 방법을 소개합니다。 숫자가 어디에 있든 추출하는 방법, 소수점 숫자 처리, 문자열의 시작 또는 끝에서 숫자를 가져오는 방법 등 다양한 시나리오를 다룹니다。 각 방법마다 작동 방식, 사용성 및 효과적인 적용을 위한 특별 팁을 설명합니다。

텍스트 문자열의 임의 위치에서 숫자 추출하기

텍스트 문자열에서 소수점 숫자만 추출하기

텍스트 문자열 끝에서 숫자 추출하기

텍스트 문자열 시작에서 숫자 추출하기


텍스트 문자열의 임의 위치에서 숫자 추출하기

텍스트 문자열 내 임의 위치에 포함된 숫자를 추출하는 것은 다양한 소스에서 가져온 데이터를 정리하거나 여러 시트의 정보를 통합할 때 자주 발생하는 요구사항입니다。 이 시나리오에는 Excel 버전과 수식 또는 애드인에 대한 숙련도에 따라 각각 이상적인 사용 사례를 가진 여러 가지 실용적이고 효율적인 해결책이 존재합니다。

♦ 플래시 필(Flash Fill)로 텍스트 문자열의 임의 위치에서 숫자 추출하기

플래시 필은 Excel 2013 이상 버전에서 사용 가능한 빠르고 편리한 기능으로, 사용자가 보여주는 패턴을 기반으로 텍스트 문자열에서 숫자를 추출할 수 있습니다。 이 방법은 수식이나 매크로가 필요 없어 간단한 상황에 적합합니다:

1. 텍스트 문자열 옆의 셀에 추출하고자 하는 숫자를 직접 입력합니다(예: A2 에 "Order123A"가 있으면 B2 에 “123" 입력)。

2。 수동으로 입력한 셀 아래의 활성 셀에서Ctrl + E를 누릅니다(또는)데이터탭 >플래시 필사용). Excel 이 초기 예시를 기반으로 유사한 셀에서 숫자를 자동으로 추출하여 아래로 채웁니다。

이 방법은 구조가 일관된 소규모~중규모 데이터셋에 한 번만 사용할 때 매우 효과적입니다。 플래시 필은 패턴 인식에 의존하므로 데이터가 매우 불일치하거나 숫자/텍스트 순서가 혼합된 경우 의도한 대로 추출되지 않을 수 있습니다。 플래시 필이 자동으로 감지되지 않으면파일>옵션>고급>자동 플래시 필에서 활성화되어 있는지 확인하세요。

♦ 수식으로 텍스트 문자열의 임의 위치에서 숫자 추출하기

수식을 사용하는 것은 텍스트 문자열에서 숫자를 추출하는 다재다능한 방법입니다。 이 방법은 기본 제공 함수나 동적 배열 함수를 사용하며, 원본 데이터가 변경될 때 자동으로 업데이트되는 해결책이 필요한 경우 특히 유용합니다。

추출된 숫자를 표시할 빈 셀을 선택합니다。 그런 다음 Excel 버전에 따라 아래 수식 중 하나를 입력합니다。 수식을 입력한 후 채우기 핸들을 아래로 드래그하여 다른 셀에도 적용합니다。 참고로 아래 그림을 확인하세요:

● 모든 Excel 버전:

=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")

이 수식은 모든 최신 Excel 버전과 호환되며 Excel 365 또는 Excel 2021 를 사용하지 않는 경우 신뢰할 수 있는 선택지입니다。 다수의 함수를 사용하는 수식은 대규모 데이터셋에서 성능에 영향을 줄 수 있습니다。 또한 텍스트 문자열에 최소한 하나의 숫자 문자가 포함되어 있는지 확인하세요。 그렇지 않으면 공백이나 오류가 반환될 수 있습니다。

● Excel 365 또는 Excel 2021 이상 버전:

=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))

이 수식은 새로운 동적 배열 함수를 활용하여 Office 365 또는 Excel 2021 이상 버전 사용자의 추출 과정을 크게 단순화합니다。 간단한 알파벳-숫자 조합뿐 아니라 더 복잡한 조합도 효율적으로 처리합니다。 올바른 버전을 사용 중인지 확인하세요。 그렇지 않으면 수식이 예상대로 작동하지 않을 수 있습니다。

팁: 음수, 혼합 숫자 또는 특수 기호가 포함된 숫자를 사용하는 경우 추출 결과를 검토하여 정확성을 확인하세요。 또한 수식은 기본적으로 소수점을 인식하지 않을 수 있으므로 소수점 숫자를 추출해야 하는 경우 아래 전용 섹션을 참조하세요。 예상치 못한 결과나 오류가 발생하면 셀 참조와 수식 구문을 다시 확인하세요。

♦ Kutools for Excel 으로 텍스트 문자열의 임의 위치에서 숫자 추출하기

Kutools for Excel 은 텍스트 문자열 내 임의 위치에서 숫자를 추출하는 간단한 방법을 제공합니다。 수식보다 대화형 인터페이스를 선호하거나 수동 작업 없이 대규모 범위를 처리해야 하는 사용자에게 특히 적합하며, 저장 시간 수식을 외우거나 문제를 해결할 필요 없이 작업을 간소화합니다。

Kutools for Excel300 가지가 넘는 고급 기능을 제공하여 복잡한 작업을 간소화하고 창의성과 효율성을 높입니다。AI 기능과 통합, Kutools 는 정밀하게 작업을 자동화하여 데이터 관리를 손쉽게 만듭니다。Kutools for Excel 의 자세한 정보。。。         무료 체험판。。。
  1. 클릭Kutools>텍스트>텍스트 추출(아래 그림 참조)。
    Kutools > 텍스트 > 텍스트 추출을 클릭합니다
  2. 텍스트 추출대화 상자에서:
    (1.)숫자를 추출할 텍스트 문자열이 포함된 셀 목록을 선택합니다;
    (2.)숫자 추출옵션을 선택하여 숫자 부분만 추출되도록 합니다;
    (3.)추출된 숫자가 원본 데이터 변경 시 자동으로 업데이트되도록 하려면수식으로 삽입를 선택합니다(선택하지 않으면 결과는 정적 텍스트로 유지됨);
    (4.)확인을 클릭합니다。
    대화 상자에서 옵션을 지정합니다
  3. 메시지가 표시되면 출력 위치로 사용할 셀을 선택합니다。 기존 데이터를 덮어쓰지 않도록 충분한 공간이 있는 빈 영역을 선택하세요。
    결과를 넣을 셀을 선택합니다
  4. 클릭확인。 선택한 각 셀의 숫자가 즉시 추출됩니다。
    모든 숫자가 Kutools에 의해 추출되었습니다

이 접근법은 사용자 친화적이며 수식 오류나 잘못 적용된 셀 참조의 위험을 줄여줍니다. 다만 Kutools 는 표준 Excel 설치에 포함되지 않은 애드인임을 유의하세요. 이 방법은 일괄 작업에 적합하며 복잡한 함수 구문이나 VBA 를 피하고자 하는 사용자에게 이상적입니다。

숫자가 예상대로 추출되지 않으면 원본 텍스트에 숨겨진 문자나 비표준 숫자와 같은 혼합 형식이 있는지 다시 확인하세요。 또한 대량 변경을 수행하기 전에는 항상 워크시트의 백업 사본을 보관하세요。

♦ VBA 코드로 텍스트 문자열의 임의 위치에서 숫자 추출하기

수식과 애드인이 충분하지 않은 고급 사용자나 특정 상황에서는 VBA 가 Excel 에서 텍스트 문자열에서 숫자를 추출하는 유연한 방법을 제공합니다。 이 방법은 반복 작업 자동화나 비표준 데이터셋 처리에 특히 유용하며 높은 수준의 사용자 정의가 가능합니다。

  1. VBA 편집기를 열려면Alt + F11를 누릅니다。Microsoft Visual Basic for Applications창에서삽입>모듈을 클릭합니다。 새 모듈 창에 다음 코드를 붙여넣습니다:
  2. VBA 코드: 텍스트 문자열에서 숫자만 추출하기:
    Sub ExtrNumbersFromRange()
        Dim xRg As Range
        Dim xDRg As Range
        Dim xRRg As Range
        Dim nCellLength As Integer
        Dim xNumber As Integer
        Dim strNumber As String
        Dim xTitleId As String
        Dim xI As Integer
        xTitleId = "KutoolsforExcel"
        Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8)
        If TypeName(xDRg) = "Nothing" Then Exit Sub
        Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8)
        If TypeName(xRRg) = "Nothing" Then Exit Sub
        xI = 0
        strNumber = ""
      For Each xRg In xDRg
        xI = xI + 1
        nCellLength = Len(xRg)
        For xNumber = 1 To nCellLength
          If IsNumeric(Mid(xRg, xNumber, 1)) Then
            strNumber = strNumber & Mid(xRg, xNumber, 1)
          End If
        Next xNumber
        xRRg.Item(xI) = strNumber
        strNumber = ""
      Next xRg
    End Sub
    
  3. 코드를 삽입한 후F5를 누르거나실행버튼을 클릭합니다。 처리할 텍스트 문자열 범위를 선택하라는 메시지 상자가 나타납니다。
    텍스트 문자열을 선택하는 VBA 코드
  4. 범위를 선택하면확인을 클릭합니다。 출력 결과를 저장할 시작 셀을 지정하라는 두 번째 메시지가 표시됩니다。
    결과를 넣을 셀을 선택하는 VBA 코드
  5. 다시확인을 클릭합니다。 원본 선택 영역 내에 포함된 모든 숫자가 지정한 출력 영역에 추출되어 배치됩니다。

VBA 방법의 장점은 대규모 데이터셋을 효율적으로 처리할 수 있고, 기본 VBA 지식이 있다면 동작을 사용자 정의할 수 있다는 점입니다(예: 첫 번째 숫자만 추출, 소수점 처리, 특정 기호 제외 등). 주의사항: VBA 매크로는 실행 취소가 불가능하며 선택한 목록 배치 영역가 원본 데이터와 겹치면 데이터를 덮어쓸 수 있으므로 항상 백업 파일에서 먼저 테스트하세요. Excel 에서 매크로가 활성화되어 있는지도 확인하세요。


텍스트 문자열에서 소수점 숫자만 추출하기

때때로 텍스트 문자열에 소수점을 포함한 숫자(“weight:15.25kg"와 같은)가 포함될 수 있습니다。 소수점(부동 소수점)을 포함한 소수를 특별히 추출해야 하는 경우, 표준 수식은 이를 제대로 캡처하지 못할 수 있습니다。 아래의 솔루션은 이러한 상황을 처리하도록 설계되었습니다。

다음 수식을 사용하면 텍스트 문자열에서 소수를 효율적으로 추출할 수 있습니다。 데이터 옆의 빈 셀에 적절한 수식을 입력한 후, 필요에 따라 채우기 핸들을 사용해 추가 행으로 복사하세요。

● 모든 Excel 버전:

=LOOKUP(9.9E+307,--LEFT(MID(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A2&"1023456789")),999),ROW(INDIRECT("1:999"))))

이 수식은 Excel 의 대부분 버전을 지원하며, 추출 시 숫자의 일부로 소수점을 인식하도록 설계되었습니다。 텍스트 내에 불필요한 마침표가 없는지 데이터를 다시 확인하세요。 예상대로 소수가 추출되지 않는다면, 원본 문자열에서 비표준 문자나 서식 문제를 점검하세요。

● Excel 365:

=REGEXEXTRACT(A2,"[\d.]+")

Excel 365 에서는 동적 배열을 통해 복잡한 텍스트 문자열에서 추출된 소수를 보다 지능적으로 처리하고 반환할 수 있습니다。 대상 셀에 수식을 입력하고Enter를 누른 후, 필요시 수식을 아래로 확장하세요。

팁: 숫자 대신 반복적으로 0 이나 오류가 반환된다면, 데이터에 유효한 소수가 포함되어 있고 셀 참조가 정확한지 확인하세요。 숫자에 음수와 소수가 모두 포함될 수 있다면, 수식을 조정해야 할 수도 있습니다。


텍스트 문자열 끝에서 숫자 추출하기

숫자가 항상 텍스트 문자열의 끝에 나타나는 경우(「221_ProductID_446」 또는 「923Ticket#2021」와 같은), 맨 끝의 숫자(“446" 또는 “2021")만 추출하고자 할 수 있습니다。 여기 제공된 수식은 바로 이러한 시나리오를 위해 설계되었으며, 텍스트 끝에 있는 숫자 시퀀스만 추출합니다。

다음 수식을 빈 셀에 복사하여 붙여넣으세요. 이전 버전의 Excel 에서는Ctrl + Shift + Enter를 눌러 배열 수식으로 확인하세요。 동적 배열을 지원하는 최신 Excel 버전에서는 단순히Enter를 누르기만 하면 됩니다。

=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))

채우기 핸들을 아래로 드래그하여 이 수식을 다른 행에도 적용하세요。 이 방법은 각 문자열에서 맨 마지막 숫자만 필요한 일관된 형식에 가장 적합하며, 문자열 중간이나 시작 부분에 있는 숫자는 무시합니다。

참고: 데이터에 공백, 특수 기호 또는 위치의 변형이 혼합되어 있다면 위에서 설명한 대로 수식을 조정하거나 보다 일반적인 방법을 사용하세요。 특히 텍스트로 끝남 숫자처럼 보이는 비숫자 문자가 포함된 경우 출력 결과가 예상과 일치하는지 항상 확인하세요。


텍스트 문자열 시작에서 숫자 추출하기

텍스트 문자열의 맨 처음에만 나타나는 숫자를 추출해야 한다면, 전용 수식을 사용해 해당 부분만 분리할 수 있습니다。

빈 대상 셀에 수식을 입력하세요。 이전 Excel 버전에서는 배열 수식을 생성하기 위해Ctrl + Shift + Enter를 사용하세요(Excel 365/2021 에서는 단순히)Enter를 누르세요)。

=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1)

그런 다음, 추출이 필요한 모든 행으로 수식을 아래로 드래그하세요。 이 방법은 문자열 시작 부분의 숫자만 반환하며, 다른 위치에 더 많은 숫자가 있더라도 선행 숫자 부분만 캡처합니다。

팁: 문자열의 첫 번째 문자가 숫자가 아닌 경우, 이 수식은 공백이나 오류를 반환할 수 있습니다。 최상의 결과를 얻으려면 원본 데이터를 점검하고 필요시 정리하세요。

텍스트 문자열에서 숫자를 추출하는 작업은 Excel 데이터 준비 과정에서 흔히 발생하며 종종 매우 중요합니다。 적절한 방법은 데이터 구조, Excel 버전 및 수식이나 애드인 사용에 대한 숙련도에 따라 달라집니다。 위의 솔루션이 해당 상황에 맞지 않는다면 여러 방법을 조합하거나 고급 요구 사항을 위한 전용 애드인을 고려하세요。 추출 결과의 불일치 여부를 점검하고, 백업 사본을 유지하며, 소규모 데이터 샘플로 시작하면 일반적인 문제를 피하는 데 도움이 됩니다。


관련 문서:

최고의 Office 생산성 도구

🤖KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행   |  코드 생성|  사용자 지정 수식 생성  |  데이터 분석 및 차트 생성|  향상된 함수 호출
인기 기능:찾기, 강조 표시 또는 중복 표시   |  빈 행 삭제   |  데이터 손실 없이 열 결합 또는 셀 제거   |  공식을 사용하지 않는 반올림...
슈퍼 LOOKUP:다중 조건 VLookup  |  다중 값 VLookup  |   여러 시트에서 VLookup   |   퍼지 매치....
고급 드롭다운 목록:드롭다운 목록 빠르게 생성   |  종속형 드롭다운 목록   |  다중 선택 드롭다운 목록....
열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교...
주요 기능:그리드 포커스   |  디자인 보기   |향상된 수식 표시줄   | 워크북 및 시트 관리자   |  자원 라이브러리(자동 텍스트)|  날짜 선택기   |  워크시트 병합  |  암호화/셀 해독   | 목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。
상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)|   50+차트유형(간트 차트, ...)|   40+ 실용적인수식(생일을 기준으로 나이 계산, ...)|   19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)|   12 변환도구(단어로 변환하기,환율 변환, ...)|   7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능
Kutools 를 선호하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및 40+개 이상의 언어를 지원합니다!

Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。


Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다

  • Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
  • 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!

모든 Kutools 애드인。 하나의 설치 프로그램

Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。

ExcelWordOutlookTabsPowerPoint
  • 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
  • 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
  • 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
  • 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
  • 최고의 가성비— 개별 애드인 구매 대비 절약