스프레드시트(엑셀, 구글시트 등)에서 작업하고 있다면 이런 건 어떻게 하지?라는 게 있는데 그 중 하나가 여러 셀에 있는 텍스트를 한 셀에 맞거나 혹은 한 셀 안에 있는 데이터, 문장을 특정 조건으로 분리하는 것이다.간단한 예를 들어보자.
이전 포스팅에서도 사용하던 스마트폰 게임 캐릭터 데이터다.

귀찮은 상황인데… 위 자료에서 A, B, C, F열 텍스트를 한 셀에 모아 정리해야 하는 상황이라고 가정해 보자.즉 셀에 분리돼 있는 텍스트를 ‘미국, HG, 콜트리볼버, 일제사격’과 같은 형식으로 하나의 셀로 재정리해야 하는 상황이다. 뭐..자료가 28개밖에 없으면 붙이든 손으로 입력하든 시간이 얼마 안 걸리겠지만…자료가 천개가 넘을 경우는 어떻게 해야 할까.가장 쉽게 사용하는 것이 &를 이용해 맞추는 방법이다. 쉬운 방법임에도 불구하고 의외로 모르는 사람이 많다.=A2 & “, ” & B2 & “, ” & C2 & “, ” & F2
& 이어진 결과

엑셀에서는 접속하고자 하는 셀과 구분 문자”,”를 &로 차례로 접속, 아래로 드래그 하는 것만으로 간단하게 해결할 수 있다. 구글 시트에서도 동일하게 사용할 수 있지만 구글 시트에서는 별도의 함수가 존재한다. 아쉽지만 지금 설명하려는 텍스트 편집 함수는 현재 엑셀에서는 지원하지 않고 구글 시트에서만 지원하는 함수다.(…. 이런 편리한 함수가 있다 보면 자연스럽게 엑셀에서 구글 시트로 넘어가게 되는 이유다.) 이 경우에 사용하는 것이 TEXT JOIN 함수다. TEXTJOIN( ) 여러 문자열 또는 배열 텍스트 결합
=TEXTJOIN(“, “, TRUE, A2:C2, F2) 또는 =TEXTJOIN(“, TRUE, A2, B2, C2, F2) 이렇게 사용하면 상기 & 결합과 동일한 결과를 출력한다.

TEXTJOIN 함수에 연결
당연히 텍스트를 붙이는 셀 순서나 접속구 분자는 마음대로 바꾸면 된다.예를 들어 글자 사이를 -로 구분하고 순서를 B, C, F, A열에 텍스트를 합치면 다음과 같다.=TEXTJOIN(” – “,TRUE,B2,C2,F2,A2)배열 순서대로 텍스트를 조합하다그냥 단순하게 &로 연결하면 되는데 구지 복잡하게 TEXT JOIN 함수로 쓰면 뭐가 더 좋을까?간단하다, 함수이기 때문에 TEXT JOIN 기능을 다른 함수와 함께 사용하면 활용성이 더욱 넓어진다.예를 들어 위의 예제 데이터에서 국적이 “미국”인 캐릭터 이름을 검색하여 모두 출력한다면.아래와 같이 QUERY 함수를 사용한다. 아쉽게도 VLOOKUP 함수로는 안 되는, 조건에 맞는 값 하나만 리턴하므로… QUREY 함수에 대한 설명은 이전 포스팅을 참조하십시오.) = QUERY (A2:G, “SELECT C WHERE A=”미국”)알아두면 활용성이 정말 많은 QUERY 함수그런데 여기서 추출된 데이터를 하나의 셀로 출력한다면 TEXT JOIN 함수를 함께 사용하면 된다.=TEXTJOIN(“, “,TRUE,QUERY(A2:G,”SELECT C WHERE A=’미국'”))TEXTJOIN 함수를 사용하여 훌륭하게 정렬위의 예에서 TEXT JOIN 함수를 사용하여 텍스트를 합쳤다면, 이번에는 반대로 긴 문장이 들어있는 셀에서 조건을 걸고 텍스트를 분리하는 함수를 살펴보자.이왕이면 좋은 글을 보는 게 좋을 것 같아 ‘홀스티 선언문’을 예로 써봤다.엑셀에서는 주로 원하는 문자를 추출할 때 LEFT( ), MID( ), RIGHT( ) 함수를 사용한다.그런데 문자 추출 조건이… 위의 모든 문장을 빈칸을 기준으로 단어를 다 분리해야 한다면? 어떻게 할까?……………………LEFT나 MID 함수는 문자 자리수를 기준으로 추출하므로, 각 셀의 데이터가 규칙적이어야 한다. 그런데 위의 예처럼 동일한 규칙이 전혀 없는 문장에서 텍스트를 분리하려면?…………………………………………–; SPLIT( ) 텍스트를 지정된 문자 또는 문자열로 나누고 행으로 개별 셀에 각 부분 배치= SPLIT(A2,”,TRUE) SPLIT함수를 사용하여 쉽게 분리할 수 있다.빈칸을 구분자로 간단하게 문장 분리여기서 좀 더 다양한 조건을 걸어보자.만약 문장 안에 yo를 기준으로 분리하면 TRUE, FALSE에 따라 다른 결과가 나온다. 조건에 따라 어떻게 분리되는지 비교해보자.1) 구분자를 “yo”라 하고 TRUE 조건분리 = SPLIT(A2, “yo”, TRUE)2) 구분자를 “yo”라 하고 FALSE 조건분리=SPLIT(A2, “yo”, FALSE)TRUE, FALSE의 차이는 TRUE의 경우 y 또는 o 또는 yo의 경우 분리하게 되고 FALSE의 경우 yo의 두 글자 연속으로 붙어 있을 경우 분리하게 된다.추가 예로 yo에 빈칸을 하나 추가하면 어떻게 분리되는지 비교해보자.3) 구분자를 “yo”라 하고 TRUE 조건분리 = SPLIT(A2, “yo”, TRUE)4) 구분자를 “yo”라 하고 FALSE 조건분리=SPLIT(A2, “yo”, FALSE)상기와 같이 TEXT JOIN과 SPLIT 함수에 대해 아는 것과 없는 것으로 인해 업무 생산성에 있어서 많은 차이가 발생할 수밖에 없다. 앞서 말했듯이 요즘은 ‘어떤 기능을 쓸 수 있는지 모르는지…’의 단순한 하나에서 차이가 발생한다.하지만 좀 더 생각해보면 TEXT JOIN, SPLIT 두 함수만으로는 텍스트 데이터를 자유롭게 재구성하는 데 한계가 많다. 여기에 더 다양한 기능을 지원하는 함수로 “REGEX—–” 함수가 있다. =REGEXMATCH( ) = REGEXTRACE( ) = REGEXREPLACE( ) 이 부분은 다음 번에…