블로그
엑셀 셀 합치기, & CONCAT TEXTJOIN 쓰는 법
엑셀 셀 합치기는 여러 열에 흩어진 값을 한 칸의 글자로 잇는 작업이고, & 연산자나 CONCAT, TEXTJOIN 함수로 합니다. 물류센터가 "수령처 / 주소 / 품목코드-수량 / 출고일"을 한 칸에 적어 달라고 하면, 주문 데이터는 열이 나뉘어 있어도 출고 요청서는 그 모양으로 만들어야 합니다. 함수 자체는 쉽지만 날짜가 46318 같은 숫자로 바뀌거나 빈 칸 때문에 구분 기호가 겹치면 요청서가 반려되고 출고가 하루 밀립니다. 함수별 차이부터 서식이 깨지지 않게 잇는 법까지 따라 할 수 있습니다.
셀 병합과 셀 합치기는 다릅니다
"셀 합치기"로 검색하면 두 가지 작업이 섞여 나옵니다. 셀 병합은 홈 탭의 병합하고 가운데 맞춤으로 여러 칸을 한 칸처럼 보이게 하는 서식입니다. 값이 든 칸 여러 개를 병합하면 엑셀이 "왼쪽 위의 값만 남기고 나머지 값은 버린다"고 경고하고, 확인을 누르면 나머지 값은 사라집니다. 데이터 합치기는 이 글에서 다루는 작업으로, 여러 칸의 값을 이어 새 칸에 한 줄로 만듭니다. 원본 칸은 그대로 남습니다.
제목 줄을 표 가운데에 놓고 싶어서 병합을 쓰는 경우라면, 병합 대신 범위를 선택하고 Ctrl + 1 → 맞춤 탭에서 가로 맞춤을 선택 영역의 가운데로로 바꾸면 됩니다. 보기는 같지만 셀이 나뉘어 있어 정렬, 필터, 복사가 깨지지 않습니다.
엑셀 셀 합치기 함수 네 가지
| 방법 | 쓰는 법 | 범위 지정 | 빈 칸 처리 | 쓸 수 있는 버전 |
|---|---|---|---|---|
| & 연산자 | =A2&" "&B2 | 안 됨 | 직접 처리 | 모든 버전 |
| CONCATENATE | =CONCATENATE(A2," ",B2) | 안 됨 | 직접 처리 | 모든 버전 |
| CONCAT | =CONCAT(A2:C2) | 됨 | 직접 처리 | Excel 2019 이후, Microsoft 365 |
| TEXTJOIN | =TEXTJOIN(" ",TRUE,A2:C2) | 됨 | 건너뛰기 가능 | Excel 2019 이후, Microsoft 365 |
Microsoft의 CONCAT 함수 도움말에 따르면 CONCAT은 CONCATENATE를 대체하는 함수이고, CONCATENATE는 이전 버전과의 호환을 위해 남아 있습니다. CONCATENATE 함수 도움말도 앞으로는 CONCAT을 쓰라고 권합니다. CONCAT과 TEXTJOIN은 결과가 셀 한도인 32,767자를 넘으면 #VALUE! 오류를 냅니다.

고르는 기준은 단순합니다. 두세 칸을 이을 때는 &가 가장 짧고 읽기 쉽습니다. 이을 칸이 많거나 범위로 넘기고 싶으면 CONCAT을 씁니다. 같은 구분 기호를 반복해 넣거나 빈 칸을 건너뛰어야 하면 TEXTJOIN이 답입니다. Excel 2016 이하와 파일을 주고받는다면 CONCAT과 TEXTJOIN이 #NAME?으로 보이므로 &나 CONCATENATE로 씁니다.
구분 기호와 줄 바꿈 넣기
CONCAT과 &는 구분 기호를 인수 사이에 직접 넣어야 합니다. =A2&", "&B2&", "&C2처럼 칸이 늘수록 따옴표가 늘어납니다. TEXTJOIN은 구분 기호를 첫 인수에 한 번만 적습니다. TEXTJOIN 함수 도움말의 구문은 TEXTJOIN(구분 기호, 빈 셀 무시 여부, 텍스트1, ...)이고, 두 번째 인수를 TRUE로 두면 빈 칸을 건너뛰어 ", , "처럼 구분 기호가 겹치지 않습니다.
한 칸 안에서 줄을 바꿔 잇고 싶으면 구분 기호 자리에 줄 바꿈 문자 CHAR(10)을 넣습니다. =TEXTJOIN(CHAR(10),TRUE,A2:C2)를 넣은 뒤 그 셀에 홈 탭의 텍스트 줄 바꿈을 켜야 화면에서도 줄이 바뀌어 보입니다. 줄 바꿈을 켜지 않으면 값 안에는 줄 바꿈이 들어 있지만 한 줄로 붙어 보입니다.
날짜와 금액이 숫자로 깨질 때: TEXT 함수
날짜, 퍼센트, 금액 칸을 그대로 이으면 화면에 보이던 모양이 아니라 엑셀이 저장한 값이 나옵니다. 엑셀은 날짜를 1900년 1월 1일부터 센 일련번호로 저장하기 때문에, 2024년 3월 1일을 이으면 45352가 됩니다. 40%는 0.4로, 쉼표와 통화 기호가 붙어 보이던 12,500은 12500으로 바뀝니다.

해결은 잇기 전에 TEXT 함수로 원하는 모양의 글자로 바꾸는 것입니다.
- 날짜:
="출고일: "&TEXT(F2,"yyyy-mm-dd")→ 출고일: 2026-10-23 - 퍼센트:
="할인율: "&TEXT(B2,"0%")→ 할인율: 15% - 금액:
="합계: "&TEXT(C2,"#,##0")&"원"→ 합계: 1,250,000원 - 자리 수 맞춤:
=TEXT(E2,"000")→ 24가 024로
TEXT 함수의 서식 코드는 셀 서식의 사용자 지정 코드와 같습니다. 원하는 모양을 셀 서식에서 먼저 만들어 보고, 그 코드를 그대로 따옴표 안에 옮기면 실수가 적습니다.
👉 엑셀 두 열 합치기, 데이터 안 잃는 4가지 방법
따라 하기: 물류센터 출고 요청서 양식에 맞추기
성우유통 출고 담당자가 오늘 출고분 120건을 물류센터 양식에 맞추는 경우입니다. 주문 시트에는 수령처(A열, 한일리테일 부평점), 시/구(B열, 인천 부평구), 상세주소(C열, 부평대로 123), 품목코드(D열, SW-0402), 수량(E열, 24), 출고 예정일(F열, 날짜)이 나뉘어 있습니다. 물류센터는 한 칸에 "한일리테일 부평점 / 인천 부평구 부평대로 123 / SW-0402-24 / 2026-10-23" 모양을 요구합니다.
처음에 =A2&" / "&B2&" "&C2&" / "&D2&"-"&E2&" / "&F2로 이었더니 끝이 "46318"로 나왔습니다. 날짜가 일련번호로 이어진 것입니다. 상세주소가 빈 행은 "인천 부평구 / "처럼 공백이 두 번 들어갔습니다.
수식을 이렇게 바꿉니다.
=TEXTJOIN(" / ",TRUE,A2,TEXTJOIN(" ",TRUE,B2,C2),D2&"-"&E2,TEXT(F2,"yyyy-mm-dd"))
안쪽 TEXTJOIN이 시/구와 상세주소를 공백으로 잇되 빈 칸은 건너뛰고, 바깥 TEXTJOIN이 네 덩어리를 " / "로 잇습니다. 날짜는 TEXT로 감싸 2026-10-23 모양이 됩니다. 수량을 세 자리로 맞춰 달라는 물류센터라면 E2 대신 TEXT(E2,"000")을 넣습니다.
G2에 수식을 넣고 아래로 채운 뒤 두 가지를 확인합니다. 첫째, 품목코드나 수량이 빈 행은 "SW-0402-"나 "-24"처럼 덩어리가 잘리므로 =COUNTBLANK(D2:E121)로 빈 칸이 있는지 먼저 세고, 있으면 필터로 찾아 채웁니다. 둘째, 물류센터 시스템은 수식이 아닌 값을 받으므로 G열을 복사해 값으로 붙여 넣은 뒤 요청서 파일에 옮깁니다. 값으로 바꾸지 않고 다른 파일로 옮기면 원본 열이 없어 #REF!가 나기도 합니다.

한 거래처의 품목을 한 칸에 모으기
출고 요청서와 반대로, 여러 행에 흩어진 값을 거래처 하나당 한 칸으로 모아야 할 때도 있습니다. 예를 들어 배송 기사에게 "한일리테일 부평점: SW-0402, SW-0418, SW-0521"처럼 수령처별 품목 목록을 넘기는 경우입니다. Microsoft 365나 Excel 2021 이후라면 TEXTJOIN 안에 FILTER를 넣어 조건에 맞는 행만 잇습니다. 수령처 목록을 H열에 한 번씩 적고, 옆 칸에 TEXTJOIN의 구분 기호를 쉼표로, 텍스트 인수를 FILTER로 지정하면 H열 수령처와 같은 행의 품목코드만 골라 한 칸에 이어 줍니다. 수령처 목록 자체는 UNIQUE 함수로 중복 없이 뽑을 수 있습니다. FILTER가 없는 버전이라면 수령처로 정렬한 뒤 수령처별 범위를 따로 잡거나, 피벗 테이블로 품목 수만 세는 방식으로 대신합니다.
이렇게 모은 목록은 원본 주문이 바뀌면 함께 바뀝니다. 배송 기사에게 보내는 시점의 목록을 남기려면 보낼 때 값으로 붙여 넣어 날짜별 시트에 보관합니다.
두 열을 합쳐 조회 키 만들기
셀 합치기는 보기 좋은 문장을 만들 때만 쓰는 기능이 아닙니다. 같은 품목코드라도 거래처마다 단가가 다른 단가표처럼, 한 열만으로는 행을 하나로 찾을 수 없을 때 두 열을 이어 조회 키를 만듭니다. 단가표 맨 앞에 열을 하나 넣고 =B2&"|"&C2처럼 거래처코드와 품목코드를 잇습니다. 주문서에서도 같은 방식으로 키를 만들면 VLOOKUP이나 XLOOKUP으로 거래처별 단가를 정확히 가져올 수 있습니다.
가운데에 "|" 같은 구분 기호를 넣는 이유가 있습니다. 구분 기호 없이 "A1"과 "23"을 이은 "A123"은 "A12"와 "3"을 이은 값과 같아져, 다른 행을 잘못 찾을 수 있습니다. 키 열의 값이 서로 겹치지 않는지는 =COUNTIF(A:A,A2)가 모두 1인지로 확인합니다.
합쳐 둔 값을 나중에 다시 여러 칸으로 나눠야 할 때도 있습니다. 구분 기호를 넣어 합쳤다면 그 기호로 다시 나눌 수 있습니다. 데이터 탭의 텍스트 나누기에서 기타 칸에 구분 기호를 넣거나, Microsoft 365라면 TEXTSPLIT 함수에 같은 구분 기호를 지정합니다. 구분 기호 없이 붙인 값은 어디서 나눌지 알 수 없으니, 나중에 다시 나눌 가능성이 있는 데이터는 처음부터 구분 기호를 넣어 잇습니다.
버전별 차이
& 연산자와 CONCATENATE는 모든 버전에서 동작합니다. CONCAT과 TEXTJOIN은 Excel 2019, Excel 2021, Excel 2024, Microsoft 365, 웹용 Excel과 Mac용 Excel 2019 이후에서 씁니다. FILTER와 UNIQUE는 Microsoft 365와 Excel 2021 이후에만 있습니다. 회사 안에서도 버전이 섞여 있다면, 공유 양식에는 &로 만든 수식을 두고 개인 작업 파일에서만 TEXTJOIN을 쓰는 식으로 나누면 서로 #NAME?을 볼 일이 없습니다.
셀 합치기에서 자주 하는 실수
CONCAT으로 범위를 넘겼는데 구분 기호가 없습니다. =CONCAT(A2:C2)는 값을 붙여만 줍니다. 구분 기호가 필요하면 TEXTJOIN을 씁니다.
#NAME? 오류가 납니다. CONCAT이나 TEXTJOIN이 없는 버전에서 파일을 열었거나 함수 이름에 오타가 있는 경우입니다. 상대 버전을 모르면 &로 바꿔 둡니다.
합친 결과를 고쳤더니 원본이 안 바뀝니다. 합친 칸은 원본을 참조하는 결과입니다. 고칠 것은 원본 칸이고, 값으로 붙여 넣은 뒤라면 원본과 연결이 끊긴 상태입니다.
앞자리 0이 사라졌습니다. 숫자로 저장된 코드는 0을 잃은 채 이어집니다. TEXT(D2,"00000")처럼 자리 수를 지정하거나, 코드 열을 처음부터 텍스트 서식으로 관리합니다.
엑셀 셀 합치기 자주 묻는 질문 (FAQ)
Q. CONCATENATE와 CONCAT 중 어떤 것을 써야 하나요?
Excel 2019 이후나 Microsoft 365라면 범위를 받는 CONCAT을 씁니다. Excel 2016 이하와 파일을 주고받을 때만 CONCATENATE나 &를 씁니다. 결과는 같습니다.
Q. 셀을 병합하면서 두 칸의 값을 모두 남길 수 있나요?
병합으로는 왼쪽 위 값만 남습니다. 먼저 옆 칸에 =A2&" "&B2로 값을 합친 뒤 값으로 붙여 넣고, 원래 칸을 정리한 다음 병합하거나 선택 영역의 가운데로 맞춤을 씁니다.
Q. 여러 행의 값을 한 칸에 쉼표로 이으려면요?
세로 범위도 TEXTJOIN에 그대로 넣으면 됩니다. =TEXTJOIN(", ",TRUE,A2:A50)은 A2부터 A50까지의 값을 빈 칸을 빼고 쉼표로 잇습니다.
Q. 수식 없이 합칠 수는 없나요?
빠른 채우기를 씁니다. 옆 칸에 원하는 결과를 한두 개 직접 입력하고 Ctrl + E를 누르면 나머지 행을 같은 모양으로 채웁니다. 결과는 값이라 원본이 바뀌어도 따라 바뀌지 않습니다.
inline AI로 출고 요청서 맞추기
inline AI는 열어 둔 주문 파일과 물류센터 양식을 함께 보고 날짜와 자리 수까지 맞춰 요청서 칸을 채우며, 품목코드나 수량이 빈 행은 따로 표시합니다. ARP를 함께 쓰면 주문과 출고, 재고가 한곳에서 이어져 출고지마다 다른 양식도 매번 손으로 맞출 필요가 없습니다.
inline AI에게 문서 작업부터 회사 업무까지 맡기세요.
회사 파일을 연 채 말로 맡기면 AI가 문서를 바로 고치고 새로 만듭니다. 회사용 AI OS까지 함께 쓰면 ERP를 비롯한 회사 업무 전체를 AI가 처리합니다.
도입 상담



