목차
아직도 & 기호로 텍스트를 붙이시나요?
안녕하세요. 여러분의 칼퇴를 책임지는 엑셀 파트너 직장인 엑셀 꿀팁 저장소입니다!
지난 포스팅에서는 슬라이서와 타임라인으로 피벗 테이블을 대시보드처럼 꾸미는 법을 다뤘습니다.
데이터를 시각적으로 요약하는 것도 중요하지만, 실무에서는 ‘텍스트 데이터(String)’를 가공해야 할 일이 산더미처럼 쌓여있습니다.
예를 들어보겠습니다. A열부터 E열까지 흩어져 있는 ‘주소’ 정보를 하나로 합치거나, 여러 셀에 입력된 ‘팀원 이름’을 한 셀에 콤마(,)를 찍어서 나열해야 하는 상황입니다.
보통 엑셀 초보자분들은 본능적으로 앰퍼샌드(&) 기호를 사용합니다.
=A1 & ", " & B1 & ", " & C1...
데이터가 3개 정도라면 참을 만합니다. 하지만 합쳐야 할 셀이 10개, 100개라면? 수식을 쓰다가 지쳐버릴 겁니다.
게다가 중간에 빈 셀이라도 있으면 사과,, 배,,, 포도 처럼 콤마가 연속으로 찍히는 흉한 꼴을 보게 되죠.
이 모든 스트레스를 단 한 방에 해결해 줄 구세주가 등장했으니, 바로 엑셀 TEXTJOIN 함수입니다. 오늘 이 글을 읽고 나면, 다시는 & 기호나 CONCATENATE 함수를 쓰지 않게 되실 겁니다.

TEXTJOIN 함수: 엑셀 텍스트 합치기의 혁명
TEXTJOIN은 이름 그대로 ‘텍스트(TEXT)를 연결(JOIN)하는’ 함수입니다. 기존 함수들과 가장 큰 차이점은 ‘구분 기호(Delimiter)’를 한 번만 지정하면 알아서 사이사이에 넣어준다는 점, 그리고 ‘빈 셀은 무시’할 수 있다는 점입니다.
함수 구조 뜯어보기
=TEXTJOIN(구분기호, 빈셀무시여부, 텍스트1, [텍스트2], …)
- 구분기호 (Delimiter): 텍스트 사이에 끼워 넣을 문자입니다. 콤마(“, “), 하이픈(“-“), 공백(” “) 등을 큰따옴표로 묶어 입력합니다.
- 빈셀무시여부 (Ignore_empty): 여기가 핵심입니다.
- TRUE: 빈 셀은 건너뜁니다. (가장 많이 씀)
- FALSE: 빈 셀도 포함해서 구분 기호를 넣습니다.
- 텍스트 (Text1…): 합치고 싶은 셀의 범위입니다. 하나씩 찍을 필요 없이
A1:A10처럼 드래그 한 번이면 됩니다.
더 자세한 스펙이 궁금하시다면 마이크로소프트 TEXTJOIN 함수 공식 도움말을 참고하세요.
기존 방식(CONCATENATE) vs TEXTJOIN 완벽 비교
왜 굳이 새로운 함수를 배워야 할까요? 비교해 보면 답이 나옵니다.
| 구분 | & 연산자 / CONCATENATE | TEXTJOIN 함수 |
|---|---|---|
| 범위 지정 | 불가능 (하나씩 클릭해야 함)A1, A2, A3... | 가능 (드래그 한 번)A1:A100 |
| 구분 기호 | 사이마다 계속 입력해야 함& "," & 반복 | 맨 앞에 한 번만 입력 |
| 빈 셀 처리 | 빈 셀 있어도 구분 기호 찍힘 결과: 사과,,배 | 빈 셀은 깔끔하게 패스 결과: 사과, 배 |
실전 1단계: 콤마(,)로 구분된 키워드 목록 만들기
쇼핑몰 상품 등록을 하거나 보고서를 쓸 때, 여러 셀에 있는 태그(Tag)들을 한 셀에 모아야 할 때가 있습니다.
A1부터 A5까지 [운동화, (빈칸), 런닝화, (빈칸), 나이키]가 있다고 가정해 봅시다.
수식 입력:
=TEXTJOIN(", ", TRUE, A1:A5)
결과:
운동화, 런닝화, 나이키
보셨나요? 중간에 빈칸이 있어도 콤마가 중복되지 않고, 아주 깔끔하게 연결되었습니다. 만약 이걸 & 연산자로 했다면 IF 함수를 섞어서 빈칸인지 아닌지 검사하는 아주 복잡한 식을 썼어야 했을 겁니다.

실전 2단계: 줄 바꿈(Alt+Enter)으로 합치기
옆으로 길게 나열하는 게 아니라, 한 셀 안에서 ‘줄 바꿈’을 해서 목록을 만들고 싶을 때도 있습니다. 엑셀에서 셀 내 줄 바꿈은 단축키 Alt + Enter지만, 수식에서는 이 단축키가 먹히지 않죠.
이때는 컴퓨터가 알아듣는 줄 바꿈 코드인 CHAR(10)을 구분 기호 자리에 넣어주면 됩니다.
수식 입력:
=TEXTJOIN(CHAR(10), TRUE, A1:A5)
⚠️ 주의할 점:
수식을 입력하고 엔터를 치면 처음엔 줄 바꿈이 안 된 것처럼 보일 수 있습니다. 반드시 해당 셀을 클릭하고 상단 메뉴 [홈] – [텍스트 줄 바꿈] 버튼을 눌러줘야 줄 바꿈이 적용되어 보입니다.
고수의 비법: 조건에 맞는 텍스트만 골라 합치기 (IF 조합)
TEXTJOIN의 진가는 배열 수식과 만났을 때 폭발합니다. 단순히 범위를 합치는 게 아니라, “A팀인 사람들의 이름만 콤마로 연결해 줘” 같은 고급 명령이 가능해집니다.
예를 들어 A열에 ‘팀명’, B열에 ‘이름’이 있다고 칩시다. “1팀” 팀원만 뽑고 싶다면?
수식 입력:
=TEXTJOIN(", ", TRUE, IF(A2:A10="1팀", B2:B6, ""))
원리 해석:
IF 함수가 먼저 A열을 훑으면서 “1팀이니?”라고 물어봅니다. 1팀이면 이름(B열)을 내놓고, 아니면 빈칸(“”)을 내놓습니다.
그 결과를 TEXTJOIN이 받아서, TRUE(빈칸 무시) 옵션 덕분에 빈칸은 다 버리고 1팀 사람들의 이름만 콤마로 예쁘게 묶어주는 것이죠.
이것은 VLOOKUP으로는 절대 불가능한, 오직 TEXTJOIN만이 할 수 있는 영역입니다. (참고: 구버전 엑셀에서는 Ctrl + Shift + Enter로 입력해야 할 수도 있습니다.)

주의사항: 엑셀 버전을 꼭 확인하세요
이렇게 완벽해 보이는 TEXTJOIN 함수도 단점이 하나 있습니다. 바로 ‘최신 함수’라는 점입니다.
- 사용 가능 버전: 엑셀 2019 이상, 오피스 365 (M365), 엑셀 2021, 웹용 엑셀, 구글 스프레드시트
- 사용 불가 버전: 엑셀 2016, 2013, 2010 이하
만약 회사 컴퓨터가 2016 이하 버전이라면 이 함수는 #NAME? 오류를 뱉어냅니다. 이럴 땐 어쩔 수 없이 VBA(매크로)를 쓰거나 파워쿼리를 써야 합니다. 하지만 최근 대부분의 기업 환경이 업그레이드되었으므로, 알아두시면 무조건 이득입니다.
마무리하며
오늘은 엑셀 텍스트 처리의 끝판왕 TEXTJOIN 함수에 대해 심도 있게 다뤄봤습니다. 구분 기호 한 번 입력으로 수십 개의 셀을 자유자재로 요리하는 기분, 꼭 느껴보시길 바랍니다.
다음 시간에는 텍스트가 아니라 데이터를 찾을 때, VLOOKUP보다 훨씬 강력하고 유연한 INDEX와 MATCH 함수 콤비네이션에 대해 알아보겠습니다. 여러분의 야근 없는 삶을 위해 공장이 함께합니다!
