Excel: 구분 기호 또는 패턴으로 문자열 분할, 별도의 텍스트 및 숫자

  • 이 공유
Michael Brown

이 자습서에서는 수식과 텍스트 분할 기능을 사용하여 Excel에서 셀을 분할하는 방법을 설명합니다. 쉼표, 공백 또는 기타 구분 기호로 텍스트를 구분하는 방법과 문자열을 텍스트와 숫자로 분할하는 방법을 배웁니다 .

한 셀의 텍스트를 여러 셀로 분할하는 것은 모든 Excel 사용자가 수행하는 작업입니다. 한번씩 처리합니다. 이전 기사 중 하나에서 텍스트를 열로 기능과 빠른 채우기 를 사용하여 Excel에서 셀을 분할하는 방법에 대해 설명했습니다. 오늘은 수식과 텍스트 분할 도구를 사용하여 문자열을 분할하는 방법에 대해 자세히 살펴보겠습니다.

    엑셀에서 텍스트 분할하는 방법 수식 사용

    Excel에서 문자열을 분할하려면 일반적으로 FIND 또는 SEARCH와 함께 LEFT, RIGHT 또는 MID 함수를 사용합니다. 언뜻 보기에 일부 수식은 복잡해 보일 수 있지만 실제로 논리는 매우 간단하며 다음 예제를 통해 몇 가지 실마리를 얻을 수 있습니다.

    쉼표, 세미콜론, 슬래시, 대시 또는 기타 구분 기호로 문자열 분할

    엑셀에서 셀을 분할할 때 핵심은 문자열 안에서 구분자의 위치를 ​​찾는 것입니다. 작업에 따라 대소문자를 구분하지 않는 SEARCH 또는 대소문자를 구분하는 FIND를 사용하여 이 작업을 수행할 수 있습니다. 구분 기호의 위치가 파악되면 RIGHT, LEFT 또는 MID 함수를 사용하여 텍스트 문자열의 해당 부분을 추출합니다. 더 나은 이해를 위해 다음을 고려하십시오.(날짜)

  • 첫 번째 공백과 단어 ERROR: 사이의 문자 (시간)
  • ERROR: 사이의 텍스트 예외: (오류 코드)
  • 예외: (예외 텍스트)
  • 뒤에 오는 모든 것 Excel에서 문자열을 분할하는 이 빠르고 간단한 방법이 마음에 들었습니다. 사용해 보고 싶다면 아래에서 평가판을 다운로드할 수 있습니다. 읽어 주셔서 감사합니다. 다음 주 블로그에서 뵙기를 바랍니다!

    사용 가능한 다운로드

    Excel Split Cells 공식(.xlsx 파일)

    Ultimate Suite 14-day 전체 기능 버전(.exe 파일)

    예.

    항목-색상-크기 패턴의 SKU 목록이 있고 열을 3개의 개별 열로 분할한다고 가정합니다.

    1. 항목 이름 (첫 번째 하이픈 앞의 모든 문자)을 추출하려면 다음 수식을 B2에 삽입한 다음 열 아래로 복사합니다.

      =LEFT(A2, SEARCH("-",A2,1)-1)

      이 수식에서 SEARCH는 문자열에서 첫 번째 하이픈("-")의 위치를 ​​결정하고 LEFT 함수는 여기에 남아 있는 모든 문자를 추출합니다(하이픈 위치에서 1을 뺍니다. 하이픈 자체를 추출하려는 경우).

    2. 색상 (첫 번째와 두 번째 하이픈 사이의 모든 문자)를 추출하려면 다음을 입력합니다.

      =MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)

      이 수식에서는 Excel MID 함수를 사용하여 A2에서 텍스트를 추출합니다.

      시작 위치와 추출할 문자의 수는 4개의 다른 SEARCH 기능을 사용하여 계산됩니다.

      • 시작 번호 는 첫 번째 하이픈의 위치 +1:

        SEARCH("-",A2) + 1

      • 추출할 문자 수 : 두 번째 하이픈의 위치와 첫 번째 하이픈의 위치 차이, 빼기 1:

        SEARCH("-", A2, SEARCH("-",A2)+1) - SEARCH("-",A2) -1

    3. 크기 (세 번째 하이픈 이후의 모든 문자)를 추출하려면 D2에 다음 수식을 입력합니다.

      =RIGHT(A2,LEN(A2) - SEARCH("-", A2, SEARCH("-", A2) + 1))

      이 수식에서 LEN 함수는 문자열의 총 길이를 반환합니다.여기에서 두 번째 하이픈의 위치를 ​​뺍니다. 차이는 두 번째 하이픈 이후의 문자 수이며 RIGHT 함수는 이를 추출합니다.

    유사한 방식으로 열을 분할할 수 있습니다 다른 문자. 예를 들어 공백 (" "), 쉼표 (","), 슬래시 ("/"), 콜론 (";"), 세미콜론 (";") 등.

    팁. 위 수식에서 +1과 -1은 구분 기호의 문자 수에 해당합니다. 이 예에서는 하이픈(1자)입니다. 구분 기호가 2자로 구성된 경우(예: 쉼표와 공백을 입력한 다음 SEARCH 함수에 쉼표(",")만 입력하고 +1과 ​​-1 대신 +2와 -2를 사용합니다.

    줄 바꿈으로 문자열을 분할하는 방법 Excel

    텍스트를 공백으로 나누려면 이전 예에서 설명한 것과 유사한 수식을 사용합니다. 유일한 차이점은 수식에 직접 입력할 수 없기 때문에 줄 바꿈 문자를 제공하기 위해 CHAR 함수가 필요하다는 것입니다.

    분할하려는 셀이 다음과 유사하다고 가정합니다.

    이전 예에서 수식을 가져와서 하이픈("-")을 CHAR(10)으로 바꿉니다. 여기서 10은 라인 피드의 ASCII 코드입니다.

    • 아이템명 추출하기:

      =LEFT(A2, SEARCH(CHAR(10),A2,1)-1)

    • 색상 추출하기:

      =MID(A2, SEARCH(CHAR(10),A2) + 1, SEARCH(CHAR(10),A2,SEARCH(CHAR(10),A2)+1) - SEARCH(CHAR(10),A2) - 1)

    • 크기 를 추출하려면:

      =RIGHT(A2,LEN(A2) - SEARCH(CHAR(10), A2, SEARCH(CHAR(10), A2) + 1))

    결과는 다음과 같습니다.

    Excel에서 텍스트와 숫자를 분할하는 방법

    우선 모든 영숫자 문자열에 적용되는 보편적인 솔루션은 없습니다. 사용할 수식은 특정 문자열 패턴에 따라 다릅니다. 아래에서 두 가지 일반적인 시나리오에 대한 공식을 찾을 수 있습니다.

    '텍스트 + 숫자' 패턴의 문자열 분할

    텍스트와 숫자가 결합된 문자열 열이 있다고 가정합니다. 항상 텍스트를 따릅니다. 다음과 같이 텍스트와 숫자가 별도의 셀에 나타나도록 원래 문자열을 끊으려고 합니다.

    결과는 두 가지 방법으로 얻을 수 있습니다.

    방법 1: 숫자를 세고 많은 문자를 추출합니다.

    텍스트 뒤에 숫자가 오는 텍스트 문자열을 분할하는 가장 쉬운 방법은 다음과 같습니다.

    숫자를 추출하려면 0에서 9까지 가능한 모든 숫자에 대해 문자열을 검색하고 총 숫자를 가져오고 문자열 끝에서 해당 문자를 반환합니다.

    A2의 원래 문자열을 사용하면 수식은 다음과 같습니다.

    =RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))

    텍스트를 추출 하려면 A2에 있는 원래 문자열의 전체 길이에서 추출된 숫자(C2)의 수를 빼 문자열에 포함된 텍스트 문자 수를 계산합니다. . 그런 다음 LEFT 함수를 사용하여 문자열 시작 부분부터 해당 문자를 반환합니다.

    =LEFT(A2,LEN(A2)-LEN(C2))

    여기서 A2는 원래 문자열이고,C2는 스크린샷에 표시된 대로 추출된 숫자입니다.

    방법 2: 문자열에서 첫 번째 숫자의 위치 찾기

    대안 해결책은 다음 공식을 사용하여 문자열에서 첫 번째 숫자의 위치를 ​​결정하는 것입니다.

    =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))

    첫 번째 숫자의 위치를 ​​찾으면 다음을 사용하여 텍스트와 숫자를 분할할 수 있습니다. 매우 간단한 LEFT 및 RIGHT 수식.

    텍스트 추출:

    =LEFT(A2, B2-1)

    숫자 추출:

    =RIGHT(A2, LEN(A2)-B2+1)

    여기서 A2는 원래 문자열이고 B2는 첫 번째 숫자의 위치입니다.

    LEFT 및 RIGHT 함수에 MIN 수식을 삽입할 수 있습니다.

    텍스트 추출 수식 :

    =LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)

    수식 숫자 :

    =RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)

    '숫자 + 텍스트' 패턴의 분할 문자열

    숫자 다음에 텍스트가 나타나는 셀을 분할하는 경우 다음 수식으로 숫자를 추출 할 수 있습니다.

    =LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, ""))))

    이 수식은 문자열의 왼쪽에서 숫자를 가져오기 위해 RIGHT 대신 LEFT 함수를 사용한다는 점을 제외하면 이전 예에서 설명한 것과 유사합니다.

    일단 숫자가 있으면 , 원본 문자열의 전체 길이에서 자릿수를 빼 추출 텍스트 :

    =RIGHT(A2,LEN(A2)-LEN(B2))

    여기서 A2는 원본 문자열이고 B2는 추출된 숫자,아래 스크린샷과 같이:

    팁. 텍스트 문자열의 모든 위치 에서 숫자를 얻으려면 이 수식이나 추출 도구를 사용하세요.

    이렇게 다양한 기능의 다양한 조합을 사용하여 Excel에서 문자열을 분할할 수 있습니다. 보시다시피 수식이 명확하지 않으므로 샘플 Excel 셀 분할 통합 문서를 다운로드하여 자세히 살펴보는 것이 좋습니다. 이 자습서의 다음 부분에서 설명하는 Excel에서 셀을 분할하는 시각적 방법을 좋아할 수 있습니다.

    텍스트 분할 도구를 사용하여 Excel에서 셀을 분할하는 방법

    Excel의 열은 다음 옵션을 제공하는 Excel용 Ultimate Suite에 포함된 텍스트 분할 기능을 사용하고 있습니다.

      더 명확하게 하기 위해 각 옵션을 자세히 살펴보겠습니다. 한 번에.

      문자별로 셀 분할

      지정된 문자 가 나타날 때마다 셀 내용을 분할하려면 이 옵션을 선택하십시오.

      이 예제에서는 이 튜토리얼의 첫 부분에서 사용한 Item-Color-Size 패턴의 문자열을 사용하겠습니다. 기억하시겠지만, 우리는 3개의 다른 수식을 사용하여 3개의 다른 열로 분리했습니다. 다음은 두 가지 빠른 단계로 동일한 결과를 얻을 수 있는 방법입니다.

      1. Ultimate Suite가 있다고 가정합니다.분할할 셀을 선택하고 Ablebits Data 탭에서 Split Text 아이콘을 클릭합니다.

      2. The <1 Excel 창의 오른쪽에>텍스트 분할 창이 열리면 다음을 수행합니다.
        • 문자로 분할 그룹을 확장하고 미리 정의된 구분 기호 중 하나를 선택합니다. 또는 사용자 지정 상자에 다른 문자를 입력합니다.
        • 셀을 열 또는 행으로 분할할지 여부를 선택합니다.
        • 미리보기 에서 결과를 검토합니다. 섹션에서 나누기 버튼을 클릭하세요.

      팁. 셀에 여러 연속 구분 기호가 있을 수 있는 경우(예: 둘 이상의 공백 문자) 연속 구분 기호를 하나로 처리 상자를 선택합니다.

      완료! 3개의 수식과 5개의 다른 기능이 필요한 작업은 이제 몇 초와 버튼 클릭만으로 완료됩니다.

      문자열로 셀 분할

      이 옵션을 사용하면 문자 조합 을 구분 기호로 사용하여 문자열을 분할합니다. 기술적으로 각 부분의 경계로 하나 또는 여러 개의 다른 하위 문자열을 사용하여 문자열을 부분으로 분할합니다.

      예를 들어 접속사 " " 및 "<로 문장을 분할하려면 1>또는 ", 문자열로 분할 그룹을 확장하고 한 줄에 하나씩 구분 기호 문자열을 입력합니다.

      결과적으로, 소스 구문은 각 구분 기호가 나타날 때마다 구분됩니다.

      팁."or" 및 "and" 문자는 종종 "orange" 또는 "Andalusia"와 같은 단어의 일부일 수 있으므로 and 앞과 뒤에 공백 을 입력하고 또는 단어 분리를 방지합니다.

      여기 또 다른 실제 예가 있습니다. 다음과 같은 외부 소스에서 날짜 열을 가져왔다고 가정합니다.

      5.1.2016 12:20

      5.2.2016 14:50

      이 형식은 Excel의 일반적인 형식이 아니므로 날짜 함수는 날짜 또는 시간 요소를 인식하지 못합니다. 일, 월, 연도, 시간, 분을 별도의 셀로 분할하려면 문자열로 분할 상자에 다음 문자를 입력합니다.

      • 일, 월을 구분하는 점(.) , 연도
      • 콜론(:)으로 시간과 분 구분
      • 공백으로 날짜와 시간 구분

      분할 버튼을 누르면 즉시 결과를 얻을 수 있습니다:

      마스크(패턴)로 셀 분할

      마스크로 셀 분리 패턴 을 기반으로 문자열을 분할하는 것을 의미합니다.

      이 옵션은 동종 문자열 목록을 일부 요소 또는 하위 문자열로 분할해야 할 때 매우 유용합니다. 문제는 주어진 구분 기호가 나타날 때마다 소스 텍스트를 분할할 수 없고 특정 항목에서만 분할할 수 있다는 것입니다. 다음 예는 이해를 더 쉽게 해줍니다.

      일부 로그에서 추출된 문자열 목록이 있다고 가정합니다.file:

      원하는 것은 3개의 개별 열에 날짜와 시간(있는 경우) 오류 코드 및 예외 세부 정보가 있는 것입니다. 한 열에 나타나야 하는 날짜와 시간 사이에 공백이 있고 한 열에 나타나야 하는 예외 텍스트 내에 공백이 있기 때문에 공백을 구분 기호로 사용할 수 없습니다.

      해결 방법은 다음과 같습니다. 다음 마스크로 문자열 분할: *ERROR:*Exception:*

      여기서 별표(*)는 문자 수를 나타냅니다.

      콜론(:) 결과 셀에 표시되는 것을 원하지 않기 때문에 구분 기호에 포함됩니다.

      이제 텍스트 분할 에서 마스크로 분할 섹션을 확장합니다. 창에서 구분 기호 입력 상자에 마스크를 입력하고 분할 :

      을 클릭합니다. 결과는 다음과 유사합니다.

      참고. 문자열을 마스크로 분할하는 것은 대소문자를 구분 합니다. 따라서 소스 문자열에 나타나는 문자를 마스크에 정확히 입력해야 합니다.

      이 방법의 큰 장점은 유연성입니다. 예를 들어 모든 원래 문자열에 날짜 및 시간 값이 있고 다른 열에 표시하려는 경우 다음 마스크를 사용합니다.

      * *ERROR:*Exception:*

      일반 영어로 번역된 마스크는 추가 기능에 원래 문자열을 4개 부분으로 나누도록 지시합니다.

      • 문자열 내에서 발견된 첫 번째 공백 앞의 모든 문자

      Michael Brown은 소프트웨어 도구를 사용하여 복잡한 프로세스를 단순화하려는 열정을 가진 열성적인 기술 애호가입니다. 기술 산업에서 10년 이상의 경험을 쌓은 그는 Microsoft Excel 및 Outlook은 물론 Google 스프레드시트 및 문서 도구에 대한 기술을 연마했습니다. Michael의 블로그는 자신의 지식과 전문 지식을 다른 사람과 공유하는 데 전념하며 따라하기 쉬운 팁과 생산성 및 효율성 향상을 위한 자습서를 제공합니다. 노련한 전문가이든 초보자이든 Michael의 블로그는 이러한 필수 소프트웨어 도구를 최대한 활용하기 위한 귀중한 통찰력과 실용적인 조언을 제공합니다.