본문 바로가기
칼퇴를 위한 엑셀

[엑셀] 텍스트 합치기 (CONCAT, '&' 연산자, TEXTJOIN)

by 주노파크 2020. 4. 12.

엑셀로 데이터 가공을 하다보면

1) 여러 셀에 나누어 저장되어 있는 텍스트를 합치거나

2) 하나의 셀에 저장되어 있는 텍스트를 나누거나

할 일이 생각보다 많이 있습니다!

 

이번 포스팅에서는 먼저 텍스트 합치기 방법에 대해 알아보고, 추후에 나누기에 대해서도 포스팅하도록 하겠습니다!

텍스트 나누기 포스팅 바로가기

http://wienwien.tistory.com/18

 

[엑셀] 텍스트 합치기 (CONCAT, '&' 연산자, TEXTJOIN)

엑셀로 데이터 가공을 하다보면 1) 여러 셀에 나누어 저장되어 있는 텍스트를 합치거나 → 이번 글 2) 하나의 셀에 저장되어 있는 텍스트를 나누거나 → 다음 글 할 일이 생각보다 많이 있습니다! 자, 여..

wienwien.tistory.com

 

자, 여기 고객들 명단과 그 주소가 있습니다.

문제점은 주소가 시도/시군구/상세주소로 다 나누어져 있다는 것이죠.

 

 

 

이런 형태의 데이터는 지역별 통계를 낼 때는 용이하지만,

고객들에게 DM을 보내야할 때는? 하나의 셀로 합쳐야 합니다.

 

그럼 주소3 옆에 "주소"라는 새로운 컬럼을 만들고 주소1~3까지를 하나의 셀에 넣어 봅시다!

 

이렇게!

 

방법1) CONCAT 함수로 텍스트 합치기 (일부 엑셀버전에서는 CONCATENATE 함수)

 

concatenate는 '연쇄시키다'라는 뜻의 영단어로, 엑셀에서도 여러 텍스트를 이어주는 함수로 사용되고 있습니다.

영알못은 이번에 이 단어 처음 봤다.

 

CONCAT함수는 합칠 텍스트들을 콤마로 구분해서 쓰면 되겠습니다.

=CONCAT(text1,text2, ...)

따라서 위와 같이 주소를 만들어주려면

=CONCAT(C2,D2,E2) 를 F2에 넣어주면 됩니다.

 

 

방법2) '&' 연산자로 텍스트 합치기

 

사실 위에서 CONCAT 함수를 소개하긴 했지만, 조금 더 간단한 방법도 있습니다.

'&' 연산자를 활용하면 훨씬 더 쉽게 텍스트를 합칠 수 있습니다.

 

=TEXT1&TEXT2&...

따라서 위와 같이 주소를 만들어주려면

=C2&D2&E2 를 F2에 넣어주면 됩니다.

 

 

추가 팁! 근데 위처럼 하면 결과가 좀 다르지 않나요? 공백넣기!

 

텍스트를 합치면, 말 그대로 해당 셀에 있는 텍스트들을 쭉 이어줄 뿐입니다.

아래 그림과 같은 결과를 얻게 되겠죠.

 

뭔가 좀 이상한데?

 

우리 한글에는 뛰어난 띄어쓰기 시스템이 있습니다만,

엑셀에서는 그 텍스트들 사이에 자동으로 띄어쓰기를 해주지는 않습니다.

그렇다면 우리가 각 텍스트들 사이에 공백을 넣어줘야 하겠죠?

1) CONCAT 함수를 사용한다면,

=CONCAT(C2," ",D2," ",E2)

2) &를 사용한다면,

=C2&" "&D2&" "&E2 를 F2에 넣어주면, 우리가 의도했던 것처럼 주소 형식으로 출력될 것입니다.

 

한 가지 문제점이 더 있습니다. 우리는 보통 대규모의 데이터를 처리하기 위해 엑셀을 사용합니다.

그런데 이렇게 수동으로 공백을 넣어주는 건 3, 4개 정도의 텍스트를 합치는 경우에는 할 수 있겠지만,

더 많은 텍스트를 한 셀에 합쳐야 할 때는 매우 번거로운 일일 수 있습니다.

 

 

방법3) TEXTJOIN 함수로 구분기호까지 쉽게 합치기! (추천)

 

※ 해당 함수는 OFFICE 2019 이상 혹은 OFFICE 365를 쓰는 분들만 사용할 수 있습니다.

 

TEXTJOIN 함수 사용시, 텍스트 사이를 구분할 구분기호를 함수의 첫 번째 인수로 입력합니다.

=TEXTJOIN(delimiter,ignore_empty,text1,[text2],...)

위의 예시에서의 구분기호는 공백이므로 첫번째 인수로 " "를 입력합니다.

두 번째 인수는 공백 무시여부인데, TRUE를 입력하면 비어있는 셀은 처리하지 않고 무시하게 되는 것이고,

반대로 FALSE를 입력한다면 비어있는 셀도 하나의 텍스트로 인식하게 됩니다.

세 번째 인수부터는 합칠 텍스트를 붙여 주면 됩니다.

C2,D2,F2라고 입력해도 되고, C2:E2와 같이 범위를 설정해줘도 작동합니다.

따라서 =TEXTJOIN(" ",TRUE,C2:E2) 라고 F2에 입력해주면 위의 방법과 같은 결과값을 얻을 수 있습니다.

 

이제 텍스트를 합치는 방법을 알아보았으니,

다음엔 반대로 텍스트를 나누는 법을 알아보도록 합시다!

 

 

-끗-

댓글