목차
튜토리얼에서는 새로운 TEXTSPLIT 함수를 사용하여 지정한 구분 기호로 Excel 365의 문자열을 분할하는 방법을 보여줍니다.
분할해야 하는 다양한 상황이 있을 수 있습니다. 엑셀의 셀. 이전 버전에서는 Text to Columns 및 Fill Flash와 같은 작업을 수행하기 위해 이미 여러 도구를 갖추고 있었습니다. 이제 이를 위한 특수 함수인 TEXTSPLIT도 있습니다. 이 함수는 지정한 매개변수에 따라 문자열을 여러 열 또는/또는 행에 걸쳐 여러 셀로 분리할 수 있습니다.
Excel TEXTSPLIT 함수
Excel의 TEXTSPLIT 함수는 지정된 구분 기호로 텍스트 문자열을 열 또는 행에 걸쳐 분할합니다. 그 결과 자동으로 여러 셀에 분산되는 동적 배열이 생성됩니다.
이 함수는 최대 6개의 인수를 사용하며 그 중 처음 두 개만 필요합니다.
TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])text (필수) - 분할할 텍스트입니다. 문자열 또는 셀 참조로 제공될 수 있습니다.
col_delimiter (필수) - 열에서 텍스트를 분할할 위치를 나타내는 문자입니다. 생략하는 경우 row_delimiter 를 정의해야 합니다.
row_delimiter (선택 사항) - 텍스트를 여러 행으로 분할할 위치를 나타내는 문자입니다.
ignore_empty (선택 사항) - 빈 값을 무시할지 여부를 지정합니다.
- FALSE(기본값) -중간에 값이 없는 연속 구분 기호에 대해 빈 셀을 만듭니다.
- TRUE - 빈 값을 무시합니다. 즉, 두 개 이상의 연속 구분 기호에 대해 빈 셀을 만들지 않습니다.
match_mode (선택 사항) - 구분 기호의 대소문자 구분을 결정합니다. 기본적으로 활성화되어 있습니다.
- 0(기본값) - 대소문자 구분
- 1 - 대소문자 구분 안 함
pad_with (선택 사항) ) - 2차원 배열에서 누락된 값 대신 사용할 값입니다. 기본값은 #N/A 오류입니다.
예를 들어 A2의 텍스트 문자열을 쉼표와 공백을 구분 기호로 사용하여 여러 셀로 나누려면 수식은 다음과 같습니다.
=TEXTSPLIT(A2, ", ")
TEXTSPLIT 가용성
TEXTSPLIT 기능은 Microsoft 365용 Excel(Windows 및 Mac) 및 웹용 Excel에서만 사용할 수 있습니다.
팁:
- TEXTSPLIT 기능을 사용할 수 없는 Excel 버전(Excel 365 제외)에서는 Text to Columns 마법사를 사용하여 셀을 분할할 수 있습니다.
- 반대로 작업을 수행하려면 특정 구분 기호를 사용하여 여러 셀을 하나로 분할하는 데 사용하는 함수는 TEXTJOIN입니다.
엑셀에서 셀을 분할하는 기본 TEXTSPLIT 수식
먼저 TEXTSPLIT을 사용하는 방법을 살펴보겠습니다. 특정 구분 기호로 텍스트 문자열을 분할하는 가장 간단한 형태의 수식.
셀을 여러 열에 가로로 분할
주어진 셀의 내용을 여러 열로 나누려면첫 번째( text ) 인수에 대한 원래 문자열을 포함하는 셀에 대한 참조와 두 번째( col_delimiter ) 인수에 대해 분할이 발생해야 하는 지점을 표시하는 구분 기호입니다.
예를 들어 A2의 문자열을 가로로 쉼표로 구분하려면 공식은 다음과 같습니다.
=TEXTSPLIT(A2, ",")
구분 기호로는 큰따옴표(",")로 묶인 쉼표를 사용합니다. .
따라서 쉼표로 구분된 각 항목은 개별 열로 이동합니다.
셀을 세로로 여러 행으로 분할
텍스트를 여러 행으로 분할하려면 세 번째 인수( row_delimiter )는 구분 기호를 배치하는 위치입니다. 이 경우 두 번째 인수( col_delimiter )는 생략됩니다.
예를 들어 A2의 값을 다른 행으로 구분하는 공식은 다음과 같습니다.
=TEXTSPLIT(A2, ,",")
두 경우 모두 수식은 하나의 셀(C2)에만 입력됩니다. 인접한 셀에서는 반환된 값이 자동으로 유출됩니다. 결과 배열(유출 범위라고 함)은 파란색 테두리로 강조 표시되어 그 안의 모든 것이 왼쪽 상단 셀의 공식으로 계산됨을 나타냅니다.
하위 문자열로 텍스트 분할
In 대부분의 경우 소스 문자열의 값은 일련의 문자로 구분되며 쉼표와 공백이 일반적인 예입니다. 이 시나리오를 처리하려면 구분 기호에 하위 문자열을 사용합니다.
예를 들어 A2의 텍스트를 여러 열로 구분하려면쉼표와 공백으로 col_delimiter 에 문자열 ", "를 사용합니다.
=TEXTSPLIT(A2, ", ")
이 수식은 B2로 이동한 다음 가능한 한 많이 복사합니다. 필요에 따라 세포.
문자열을 열과 행으로 한 번에 분할
텍스트 문자열을 한 번에 행과 열로 분할하려면 TEXTSPLIT 수식에서 두 구분 기호를 모두 정의합니다.
예: 열과 행에 걸쳐 A2의 텍스트 문자열을 분할하려면 다음을 제공합니다.
- 등호("=")는 col_delimiter
- 쉼표와 row_delimiter
에 대한 공백(", ") 전체 수식은 다음 형식을 취합니다.
=TEXTSPLIT(A2, "=", ", ")
결과는 2차원 2열과 3행으로 구성된 배열:
여러 구분 기호로 셀 구분
소스 문자열에서 여러 구분 기호 또는 일치하지 않는 구분 기호를 처리하려면 {"x","y"와 같은 배열 상수를 사용합니다. ,"z"}는 구분 기호 인수입니다.
아래 스크린샷에서 A2의 텍스트는 공백이 있거나 없는 쉼표(",")와 세미콜론(";")으로 구분됩니다. 구분 기호의 4가지 변형을 모두 사용하여 문자열을 행으로 세로로 분할하려면 공식은 다음과 같습니다.
=TEXTSPLIT(A2, , {",",", ",";","; "})
또는 쉼표(",")와 세미콜론("; ")를 배열에 넣은 다음 TRIM 함수를 사용하여 여분의 공백을 제거합니다.
=TRIM(TEXTSPLIT(A2, , {",",";"}))
빈 값을 무시하고 텍스트 분할
문자열에 다음이 포함된 경우 사이에 값이 없는 두 개 이상의 연속 구분 기호가 있는 경우 이러한 공백을 무시할지 여부를 선택할 수 있습니다.가치 여부. 이 동작은 네 번째 ignore_empty 매개변수에 의해 제어되며 기본값은 FALSE입니다.
기본적으로 TEXTSPLIT 함수는 빈 값을 무시하지 않습니다. 기본 동작은 아래 예와 같이 구조화된 데이터에 잘 작동합니다.
이 샘플 테이블에서 점수가 일부 문자열에서 누락되었습니다. ignore_empty 인수가 생략되거나 FALSE로 설정된 TEXTSPLIT 수식은 각 빈 값에 대해 빈 셀을 생성하여 이 경우를 완벽하게 처리합니다.
=TEXTSPLIT(A2, ", ")
Or
=TEXTSPLIT(A2, ", ", FALSE)
결과적으로 모든 값이 적절한 열에 나타납니다.
문자열에 동종 데이터가 포함된 경우 빈 값을 무시하는 것이 합리적일 수 있습니다. 이를 위해 ignore_empty 인수를 TRUE 또는 1로 설정합니다.
예를 들어 각 스킬을 간격 없이 별도의 셀에 배치하는 아래 문자열을 나누려면 공식은 다음과 같습니다.
=TEXTSPLIT(A2, ", ", ,TRUE)
이 경우 연속 구분 기호 사이의 누락된 값은 완전히 무시됩니다.
셀 분할 대소문자 구분 또는 대소문자 구분
구분 기호의 민감도는 다섯 번째 인수인 match_mode 를 사용합니다.
기본적으로 match_mode 는 0으로 설정되어 TEXTSPLIT 대소문자 구분 .
이 예에서 숫자는 소문자 "x"와 대문자 "X"로 구분됩니다.
대소문자를 기본으로 구분하는 수식은 소문자 "x"만 허용합니다. "로delimiter:
=TEXTSPLIT(A2, " x ")
결과에서 선행 및 후행 공백을 방지하기 위해 구분 기호는 문자 " x "의 양쪽에 공백이 있습니다.
대소문자를 구분하지 않으려면 match_mode 에 1을 입력하여 TEXTSPLIT 수식에서 대소문자를 무시하도록 합니다.
=TEXTSPLIT(A2, " x ", , ,1)
이제 모두 문자열은 구분 기호로 올바르게 분할됩니다.
2D 배열에서 누락된 값 채우기
TEXTSPLIT 함수의 마지막 인수인 pad_with 는 다음과 같은 경우에 유용합니다. 소스 문자열에서 더 많은 값이 누락되었습니다. 이러한 문자열을 열과 행으로 분할하면 기본적으로 Excel은 2차원 배열의 구조를 엉망으로 만들지 않도록 누락된 값 대신 #N/A 오류를 반환합니다.
아래 문자열에서, "점수" 뒤에 "="( col_delimiter )가 없습니다. 결과 배열의 무결성을 유지하기 위해 TEXTSPLIT는 "Score" 옆에 #N/A를 출력합니다.
결과를 보다 사용자 친화적으로 만들기 위해 #N/A 오류를 원하는 값으로 바꿀 수 있습니다. pad_with 인수에 원하는 값을 입력하기만 하면 됩니다.
이 경우 하이픈("-"):
=TEXTSPLIT(A2, "=", ", ", , ,"-")
또는 빈 문자열(""):
=TEXTSPLIT(A2, "=", ", ", , ,"")
이제 TEXTSPLIT 함수의 각 인수에 대한 실용적인 사용법을 배웠으므로 다음과 같이 도움이 될 수 있는 몇 가지 고급 예를 살펴보겠습니다. Excel 스프레드시트에서 사소한 문제를 처리합니다.
날짜 나누기일, 월, 년으로
날짜를 개별 단위로 나누려면 먼저 날짜를 텍스트로 변환해야 합니다. TEXTSPLIT 함수는 텍스트 문자열을 처리하지만 Excel 날짜는 숫자이기 때문입니다.
가장 쉬운 방법 숫자 값을 텍스트로 변환하는 방법은 TEXT 함수를 사용하는 것입니다. 날짜에 적합한 형식 코드를 제공해야 합니다.
이 경우 수식은 다음과 같습니다.
=TEXT(A2, "m/d/yyyy")
다음 단계는 위의 함수를 TEXTSPLIT의 첫 번째 인수를 입력하고 열 또는 행에서 분할하는지 여부에 따라 두 번째 또는 세 번째 인수에 해당하는 구분 기호를 입력합니다. 이 예에서 날짜 단위는 슬래시로 구분되므로 col_delimiter 인수에 "/"를 사용합니다.
=TEXTSPLIT(TEXT(A2, "m/d/yyyy"), "/")
셀 분할 및 특정 문자 제거
이것을 상상해 보십시오. 긴 문자열을 여러 조각으로 분할했지만 결과 배열에는 여전히 아래 스크린샷의 괄호와 같은 일부 원치 않는 문자가 포함되어 있습니다.
=TEXTSPLIT(A2, " ", "; ")
제거하려면 여는 괄호와 닫는 괄호를 한 번에 분리하고 두 개의 SUBSTITUTE 함수를 서로 중첩하고(각각 하나의 괄호를 빈 문자열로 바꿈) 내부 SUBSTITUTE:
의 text 인수에 대해 TEXTSPLIT 공식을 사용합니다. =SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A2, " ", "; "), "(", ""), ")", "")
팁. 최종 배열에 너무 많은 추가 문자가 포함된 경우 Excel에서 원치 않는 문자를 제거하는 방법 문서에 설명된 방법 중 하나를 사용하여 해당 문자를 제거할 수 있습니다.
특정 값을 건너뛰는 문자열 분할
아래 문자열을 이름 , 성 , 점수<2의 4개 열로 분리한다고 가정합니다> 및 결과 . 문제는 일부 문자열에 "Mr."이라는 제목이 포함되어 있다는 것입니다. 또는 "Ms.", 결과가 모두 잘못되었기 때문입니다.
해법은 명확하지 않지만 매우 간단합니다 :)
기존 구분 기호 외에도 공백(" ") 및 쉼표와 공백(", "), col_delimiter 배열 상수에 "Mr. " 및 "Ms. " 문자열을 포함하면 함수가 제목 자체를 사용하여 텍스트. 빈 값을 무시하려면 ignore_empty 인수를 TRUE로 설정합니다.
=TEXTSPLIT(A2, {" ",", ","Mr. ","Ms. "}, ,TRUE)
이제 결과가 완벽합니다!
TEXTSPLIT 대안
TEXTSPLIT 기능이 지원되지 않는 Excel 버전에서는 LEFT, RIGHT 및 MID와 함께 SEARCH / FIND 기능의 다양한 조합을 사용하여 문자열을 나눌 수 있습니다. 특히:
- 대소문자를 구분하지 않는 SEARCH 또는 대소문자를 구분하는 FIND는 문자열 내에서 구분 기호의 위치를 결정하고
- LEFT, RIGHT 및 MID 기능은 이전에 하위 문자열을 추출합니다. , 구분 기호의 두 인스턴스 뒤 또는 사이에 있습니다.
이 경우 쉼표와 공백 으로 구분된 값을 분할하려면 공식은 다음과 같습니다.
이름을 추출하려면:
=LEFT(A2, SEARCH(",", A2, 1) -1)
점수를 추출하려면:
=MID(A2, SEARCH(",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",", A2) - 2)
결과:
=RIGHT(A2, LEN(A2) - SEARCH(",", A2, SEARCH(",", A2) + 1)-1)
수식 논리에 대한 자세한 설명은 문자 또는 마스크로 문자열을 분할하는 방법을 참조하세요.
동적 배열과 달리 TEXTSPLIT 함수에서 이러한 공식은 기존의 단일 공식 단일 셀 접근 방식을 따릅니다. 첫 번째 셀에 수식을 입력한 다음 열 아래로 드래그하여 아래 셀에 복사합니다.
아래 스크린샷은 결과를 보여줍니다.
Excel 365에서 셀을 분할하는 방법입니다. TEXTSPLIT 또는 이전 버전의 대체 솔루션을 사용합니다. 읽어 주셔서 감사합니다. 다음 주 블로그에서 뵙기를 바랍니다!
다운로드용 통합 문서 연습
문자열을 분할하는 TEXTSPLIT 함수 – 수식 예제(.xlsx 파일)