엑셀 TEXTJOIN 함수 및 CONCATENATE 이용한 여러 셀 텍스트 합치기
얼마 전 저희 팀의 총무 담당 주임님이 모니터 화면을 보며 깊은 한숨을 쉬고 계시더라고요. 사유를 여쭤보니, 행사에 참석하는 수십 명의 회원 명단을 보고서 한 칸에 '김민수, 이서연, 박준형...'처럼 쉼표로 구분해서 쭉 나열해야 하는 업무를 맡았다는 것이었습니다. 주임님은
=A2&", "&A3&", "&A4... 기호를 일일이 키보드로 쳐가며 셀을 하나씩 연결하고 계셨어요. 게다가 중간에 이름이 비어 있는 빈 셀이라도 있으면 쉼표가 두 번 연속(,,)으로 찍히는 바람에, 수식이 완성된 후에도 일일이 눈으로 검수하며 지우느라 진땀을 흘리고 있었죠. 마감 시간은 다가오는데 작업 속도가 나지 않아 무척 당황해 보였습니다.
과거부터 엑셀에서 문자를 합칠 때 전통적으로 쓰이던 방식이 바로 & 연산자나 CONCATENATE 함수였습니다. 하지만 이 방식들은 합쳐야 할 셀이 10개만 넘어가도 수식이 엄청나게 길어지고, 글자 사이에 들어갈 구분 기호(쉼표나 공백 등)를 셀마다 일일이 넣어줘야 해서 무척 번거롭다는 치명적인 단점이 있죠.
10년 동안 실무를 하면서 이런 비효율적인 방식으로 아까운 시간을 허비하는 동료들을 정말 많이 봐왔습니다. 이 문제를 완벽하게 해결하고 엑셀의 신세계로 이끌어주는 주인공이 바로 엑셀 2019 버전부터 도입된 TEXTJOIN 함수랍니다.
TEXTJOIN 함수는 이름 그대로 '텍스트들을 하나로 연결해 주는' 아주 영리한 함수예요. 기존 함수들과 가장 큰 차이점은 딱 한 번만 구분 기호를 지정해 주면 지정한 범위의 모든 셀 사이에 그 기호를 자동으로 넣어준다는 것, 그리고 중간에 있는 빈 셀을 알아서 무시하고 건너뛸 수 있다는 점입니다.
함수의 구조도 원리만 알면 아주 직관적이고 다정해요. =TEXTJOIN(구분기호, 빈셀무시여부, 합칠범위) 형태로 작성해 주면 됩니다.
첫 번째 자리에 글자 사이에 넣고 싶은 쉼표나 공백(", " 또는 " ")을 적고, 두 번째 자리에는 빈 칸을 건너뛸 것인지를 묻는 말에 TRUE를 적어줍니다. 마지막 세 번째 자리에는 일일이 셀을 찍을 필요 없이, 합치고 싶은 전체 범위를 마우스로 쭉 드래그(A2:A50)해 주기만 하면 끝이랍니다.
방금 주임님이 겪었던 상황에 맞춰 수식을 짜보면 =TEXTJOIN(", ", TRUE, A2:A20)이 됩니다. 엔터를 누르는 순간, 수십 명의 이름이 쉼표로 예쁘게 구분되어 단 1초 만에 한 칸으로 마법처럼 뭉쳐졌습니다. 중간에 비어 있던 셀은 엑셀이 알아서 쏙 건너뛰어 주었기 때문에 쉼표가 꼬이는 일도 전혀 없었죠.
끙끙 앓던 작업이 순식간에 끝나자 주임님은 "그동안 내가 했던 노가다는 무엇이었냐"며 허탈해하면서도, 완벽하게 정돈된 보고서를 보며 환하게 웃으셨답니다. 덕분에 그날은 실수 없이 완벽하게 업무를 마무리하고 가벼운 발걸음으로 칼퇴근을 하셨죠.
지금 이 순간에도 여러 셀에 분산된 주소나 이름, 코드 데이터를 합치느라 & 기호를 수십 번씩 누르고 계신다면, 당장 손을 멈추고 =TEXTJOIN을 입력해 보세요. "구분 기호 쓰고, TRUE 입력하고, 범위 드래그하기!" 이 세 가지만 기억하시면 아무리 방대한 양의 문자열 데이터도 여러분 앞에서는 깔끔하게 한 줄로 정렬될 거예요. 엑셀이 제공하는 스마트한 도구를 활용해 일하는 시간을 획기적으로 줄이고, 여러분의 저녁 시간을 여유로움으로 가득 채우시길 응원하겠습니다. 오늘도 정말 고생 많으셨어요!
댓글
댓글 쓰기