핵심 요약
- 여러 셀의 글자를 한 셀로 합칠 때는
=CONCATENATE(A2," ",B2)나 같은 뜻의=A2&" "&B2를 씁니다. 띄어쓰기·쉼표는 직접 넣어야 합니다. - 날짜·금액을 합치면 서식이 사라져 43591 같은 숫자가 나옵니다.
TEXT(A2,"yyyy-mm-dd")처럼 TEXT로 감싸 서식을 유지합니다. - 범위를 한 번에 합치는
CONCAT, 구분 기호를 넣어 합치는TEXTJOIN은 엑셀 2019 이후와 Microsoft 365에서 쓸 수 있습니다.
성과 이름이 다른 열에 나뉘어 있어 전체 이름 열을 만들어야 하거나, 시·구·동 열을 합쳐 주소 한 줄로 만들거나, "홍길동 고객님 계약일: 2019-05-06"처럼 셀 값을 넣은 문장을 만들어야 할 때가 있습니다. 하나씩 복사해 붙이는 대신 수식으로 합쳐 두면 원본이 바뀔 때 결과도 함께 바뀝니다.
이 글에서는 CONCATENATE 함수와 & 연산자 사용법, 숫자·날짜를 합칠 때 서식을 지키는 방법, 새 버전의 CONCAT·TEXTJOIN까지 정리합니다.
CONCATENATE 함수 사용법
CONCATENATE는 인수로 받은 글자를 순서대로 이어 붙여 하나의 텍스트로 돌려줍니다.
| 인수 | 뜻 | 예시 |
|---|---|---|
| text1 | 첫 번째로 붙일 값(셀, 따옴표로 감싼 글자, 숫자) | A2 |
| text2, … | 이어서 붙일 값. 최대 255개까지 | " ", B2 |
A2에 "홍", B2에 "길동"이 있을 때 결과는 다음과 같습니다.
| 수식 | 결과 |
|---|---|
=CONCATENATE(A2,B2) | 홍길동 |
=CONCATENATE(A2," ",B2) | 홍 길동 |
=CONCATENATE(B2,", ",A2) | 길동, 홍 |
=CONCATENATE("A",12,3) | A123 |
기억할 점은 두 가지입니다. 첫째, 함수는 띄어쓰기나 쉼표를 알아서 넣어 주지 않으므로 " ", ", "처럼 구분 글자도 인수로 넣어야 합니다. 둘째, 수식 안에 글자를 직접 쓸 때는 반드시 큰따옴표로 감쌉니다. 따옴표가 없으면 엑셀이 셀 주소나 이름으로 읽어 #NAME? 오류가 납니다.
& 연산자로 더 짧게 합치기
&(앰퍼샌드)는 CONCATENATE와 같은 일을 하는 연산자입니다. 합칠 값 사이에 &만 넣으면 됩니다.
=A2&B2 → 홍길동
=A2&" "&B2 → 홍 길동
=C2&" "&D2&" "&E2 → 서울시 강남구 역삼동
결과는 같으므로 어느 쪽을 써도 되지만, 괄호와 쉼표가 줄어 수식이 짧아지는 &를 더 많이 씁니다. 마이크로소프트도 CONCATENATE는 이후 버전에서 제공되지 않을 수 있다고 안내하고 있어, 새로 만드는 수식이라면 &나 CONCAT을 권합니다.
합친 글자 중간에서 줄을 바꾸려면 줄 바꿈 문자 CHAR(10)을 넣고, 결과 셀에 홈 탭 > 텍스트 줄 바꿈(Wrap Text)을 켭니다.
=A2&" "&B2&CHAR(10)&C2
숫자·날짜를 합칠 때는 TEXT로 서식 유지
가장 자주 막히는 부분입니다. 셀에 "2019-05-06"으로 보이는 날짜도 속은 43591이라는 일련번호이고, "1,250,000"으로 보이는 금액도 속은 1250000입니다. 합치기 연산은 이 속값을 쓰기 때문에 셀에 보이던 서식이 사라집니다.
| 수식 | 결과 |
|---|---|
="계약일: "&A2 | 계약일: 43591 |
="계약일: "&TEXT(A2,"yyyy-mm-dd") | 계약일: 2019-05-06 |
="계약일: "&TEXT(A2,"yyyy년 m월 d일(aaa)") | 계약일: 2019년 5월 6일(월) |
="금액 "&TEXT(B2,"#,##0")&"원" | 금액 1,250,000원 |
="달성률 "&TEXT(C2,"0.0%") | 달성률 85.3% |
TEXT(값, "서식 코드")는 값을 지정한 서식이 적용된 글자로 바꿔 줍니다. 서식 코드는 셀 서식의 사용자 지정 형식과 같은 규칙을 씁니다. 요일을 한글로 보이게 하는 aaa(월)·aaaa(월요일)는 한국어 환경의 엑셀에서 쓰는 코드입니다.
합친 결과는 숫자처럼 보여도 텍스트입니다. ="12"&"3"의 결과 123은 왼쪽 정렬되고, SUM으로 더해도 합계에 포함되지 않습니다. 계산에 써야 한다면 =VALUE(A2&B2)처럼 숫자로 바꾸세요.
CONCAT·TEXTJOIN 함수 (엑셀 2019 이후)
엑셀 2019 이후 버전과 Microsoft 365에는 범위를 다루기 쉬운 함수가 추가되었습니다. 이 함수를 지원하지 않는 이전 버전에서 열면 #NAME? 오류가 나므로 파일을 주고받을 상대의 버전을 확인해야 합니다.
| 함수 | 예시 | 특징 |
|---|---|---|
CONCAT | =CONCAT(A2:D2) | 범위를 통째로 넣어 순서대로 합침. 구분 기호는 넣지 않음 |
TEXTJOIN | =TEXTJOIN(", ",TRUE,A2:A10) | 첫 인수의 구분 기호를 사이사이에 넣음. 두 번째 인수가 TRUE면 빈 셀은 건너뜀 |
예를 들어 A2:A10에 담당 고객 이름이 있고 중간에 빈 셀이 섞여 있어도, TEXTJOIN을 쓰면 "홍길동, 김철수, 이영희"처럼 쉼표로 이어진 한 줄을 만들 수 있습니다. CONCATENATE에 범위를 넣으면 이렇게 한꺼번에 합쳐지지 않으므로 이전 버전에서는 셀을 하나씩 지정해야 합니다.
구글 스프레드시트에서는
구글 스프레드시트에서도 CONCATENATE, &, TEXTJOIN, TEXT를 같은 방식으로 씁니다. 다만 CONCAT은 값 두 개만 받으므로, 셋 이상을 합칠 때는 &나 CONCATENATE를 쓰는 편이 편합니다. 구분 기호로 범위를 이어 붙이는 JOIN 함수도 따로 있습니다.
자주 묻는 질문
합친 결과 대신 수식이 글자 그대로 보입니다.
수식을 입력한 셀의 표시 형식이 텍스트로 되어 있으면 수식이 계산되지 않습니다. 표시 형식을 일반으로 바꾼 뒤 셀을 다시 편집해 Enter를 누르면 계산됩니다.
합친 글자 안에 큰따옴표를 넣고 싶습니다.
따옴표 안에서 큰따옴표를 두 번 연속 쓰면 글자 하나로 인식됩니다. ="상품명 """&A2&""""는 상품명 "A2의 값"처럼 표시됩니다. CHAR(34)를 이어 붙여도 됩니다.
합친 결과를 수식 없이 값으로만 남기려면 어떻게 하나요?
결과 범위를 복사한 뒤 같은 자리에 선택하여 붙여넣기 > 값으로 붙여 넣습니다. 그러면 원본 열을 지워도 합친 글자가 그대로 남습니다.
함께 보면 좋은 글: 엑셀 날짜 함수 DAY MONTH YEAR WEEKDAY, 엑셀 선택하여 붙여넣기 활용법, 엑셀 VLOOKUP 함수 사용법 총정리
댓글
댓글 남기기