안녕하세요! 칼퇴를 부르는 엑셀 꿀팁을 연구하는 블로그 ‘시간절약연구소’입니다.
실무에서 엑셀을 다루다 보면, 떨어져 있는 여러 개의 셀에 있는 텍스트를 하나의 셀로 합쳐야 하는 상황이 빈번하게 발생합니다. 고객의 성과 이름을 합치거나, 주소를 상세히 조합하거나, 여러 개의 태그를 쉼표(,)로 연결해야 할 때가 대표적이죠.
과거에는 & 연산자나 CONCATENATE 함수를 사용하느라 수식이 엄청나게 길어졌고, 중간중간 구분 기호(공백이나 쉼표)를 넣느라 머리를 싸매야 했습니다. 하지만 이제 걱정 마세요! 오늘 소개해 드릴 TEXTJOIN 함수 하나면 이 모든 고민을 단 1초 만에 해결할 수 있습니다.
1. TEXTJOIN 함수란? 기본 개념과 구문 이해하기
엑셀 2016 버전 이상 및 Microsoft 365에서 지원하는 TEXTJOIN 함수는 지정한 구분 기호를 사용하여 여러 범위 또는 문자열을 결합해 주는 강력한 함수입니다. 특히 기존 함수들과 달리 ‘빈 셀을 무시하는 기능’과 ‘구분 기호를 일괄 적용하는 기능’이 포함되어 있어 실무 생산성을 극적으로 높여줍니다.
TEXTJOIN 함수의 기본 구문은 다음과 같습니다:
=TEXT(구분기호, 빈셀무시여부, 텍스트1, [텍스트2], ...)
- 구분기호: 텍스트와 텍스트 사이에 들어갈 기호입니다. (예:
", ","-"등, 큰따옴표로 감싸야 합니다.) - 빈셀무시여부: 범위 내에 빈 셀이 있을 때 이를 포함할지 여부를 결정합니다.
TRUE(또는 1)는 빈 셀 무시,FALSE(또는 0)는 빈 셀 포함입니다. 실무에서는 대부분TRUE를 사용합니다. - 텍스트1, 텍스트2…: 합치고자 하는 셀의 범위나 문자열을 지정합니다. (개별 셀 선택뿐만 아니라 연속된 범위 지정도 가능합니다.)
2. 실무 예제로 알아보는 TEXTJOIN 활용법
백문이 불여일견! 실제 업무에서 가장 흔하게 마주치는 상황을 가정하여 TEXTJOIN 함수를 어떻게 활용하는지 살펴보겠습니다.
| A (부서) | B (이름) | C (직급) | D (기존 방식: & 연산자) | E (TEXTJOIN 활용 결과) |
|---|---|---|---|---|
| 영업팀 | 김철수 | 대리 | 영업팀김철수대리 | 영업팀_김철수_대리 |
| 마케팅팀 | 이영희 | 과장 | 마케팅팀이영희과장 | 마케팅팀_이영희_과장 |
| 기획팀 | 박민수 | 기획팀박민수 | 기획팀_박민수 |
위의 표에서 직급이 없는 ‘박민수’ 사원의 경우, 기존의 & 연산자나 단순 결합 함수를 쓰면 공백이나 이상한 기호가 남거나 수식이 깨지기 쉽습니다. 하지만 =TEXTJOIN("_", TRUE, A3:C3) 수식을 입력하면 빈 셀인 직급 칸을 알아서 무시하고 ‘기획팀_박민수’와 같이 깔끔한 텍스트를 완성해 줍니다.
실무 꿀팁: 여러 행의 데이터 한 번에 합치기 (행 병합)
가로 방향뿐만 아니라, 세로 방향으로 길게 늘어진 여러 행의 데이터(예: 특정 프로젝트에 참여한 팀원 명단)를 하나의 셀에 쉼표로 구분하여 모으고 싶을 때도 TEXTJOIN은 진가를 발휘합니다.
수식 예시: =TEXTJOIN(", ", TRUE, B2:B10)
이렇게 입력하면 B2부터 B10까지의 이름이 김철수, 이영희, 박민수, ... 형태의 하나의 문자열로 완벽하게 합쳐집니다.
3. 기존 CONCATENATE 및 & 연산자와의 비교
많은 분들이 여전히 익숙하다는 이유로 =A2&","&B2&","&C2 형태의 수식을 사용하곤 합니다. 하지만 이 방식에는 치명적인 단점이 있습니다.
- 수식의 길이 증가: 합쳐야 할 셀이 10개라면 앰퍼샌드(
&)와 구분 기호를 10번 이상 입력해야 하므로 수식이 매우 길어집니다. - 유지보수의 어려움: 중간에 셀을 추가하거나 삭제할 때 수식을 처음부터 다시 수정해야 합니다.
- 빈 셀 처리 불가: 중간에 빈 셀이 있어도 무조건 구분 기호가 들어가
,,와 같은 어색한 결과물이 생성됩니다.
반면, TEXTJOIN 함수는 범위(Range) 지정이 가능하므로 =TEXTJOIN(",", TRUE, A2:J2) 단 한 줄로 이 모든 문제를 해결할 수 있습니다. 엑셀 작업 시간을 단축하고 싶다면 오늘부로 기존 방식은 과감히 버리시는 것을 추천합니다.
자주 묻는 질문 (FAQ)
Q1. TEXTJOIN 함수가 안 되고 ‘#NAME?’ 오류가 떠요. 왜 그럴까요?
A: #NAME? 오류는 엑셀이 해당 함수를 인식하지 못할 때 발생합니다. TEXTJOIN 함수는 Excel 2016 이상 버전 및 Microsoft 365(오피스 365)에서만 지원됩니다. 구버전 엑셀을 사용 중이신 경우 함수를 사용할 수 없으므로 프로그램을 업데이트하시거나 다른 우회 방법을 사용하셔야 합니다.
Q2. 구분 기호로 줄바꿈(엔터)을 넣을 수도 있나요?
A: 네, 가능합니다! 엑셀에서 줄바꿈을 의미하는 함수인 CHAR(10)을 구분 기호 자리에 넣으면 됩니다. 예를 들어 =TEXTJOIN(CHAR(10), TRUE, A1:A5)와 같이 입력하시면, 여러 셀의 텍스트가 줄바꿈으로 구분되어 하나의 셀 안에 예쁘게 정렬됩니다. (단, 해당 셀의 ‘텍스트 줄 바꿈’ 홈 메뉴 버튼이 켜져 있어야 합니다.)
지금까지 엑셀 TEXTJOIN 함수의 기본 개념부터 실무 활용법, 그리고 기존 방식과의 차이점까지 자세히 알아보았습니다. 반복되는 엑셀 수식 작성 업무로 야근하고 계셨다면, 오늘부터 TEXTJOIN 함수를 도입해 칼퇴에 도전해 보세요!
더 유익한 엑셀 실무 팁으로 찾아오겠습니다. 지금까지 시간절약연구소였습니다. 감사합니다!