이 글에서는 엑셀(Excel)에서 데이터 손실 없이 두 개의 셀을 병합하는 방법을 소개합니다. 엑셀의 셀 병합 기능은 레이블이나 제목을 만들고, 데이터를 더 보기 좋게 정리하는 데 매우 유용합니다. 일반적으로 엑셀은 데이터를 저장하는 용도로 사용되지만, 여러 사용자가 함께 데이터 세트를 활용하려면 이해하기 쉽도록 레이블과 헤더가 반드시 필요합니다. 이럴 때 병합 후 가운데 맞춤(Merge & Center) 기능을 활용하면 여러 셀을 손쉽게 하나로 합칠 수 있습니다.
하지만 안타깝게도 '병합 후 가운데 맞춤' 기능은 셀을 합친 후 첫 번째 셀의 값만 남기고 나머지는 모두 삭제합니다. 데이터가 들어 있는 셀을 자주 병합해야 하는 경우라면 첫 번째 셀 외의 모든 데이터가 사라져 큰 불편함을 겪게 됩니다. 따라서 이번 글에서는 데이터를 잃지 않고 엑셀에서 셀을 병합하는 2가지 방법을 자세히 알려드리겠습니다.
데이터 손실 없이 엑셀에서 두 개 이상의 셀 병합하기
아래에서 소개하는 두 가지 방법으로 데이터를 보존한 상태에서 셀을 병합할 수 있습니다.
1. 채우기 양쪽 맞춤(Fill Justify) 기능으로 같은 열의 인접한 셀 병합하기
엑셀의 채우기 양쪽 맞춤 기능을 사용하면 같은 열에 있는 인접한 셀 두 개 이상을 데이터 손실 없이 병합할 수 있습니다. 아래 단계를 따라 해 보세요.
📌 단계:
- 먼저 아래와 같이 2022년 직원들의 분기별 판매 실적을 담은 예제 데이터를 준비합니다. 직원의 이름과 성이 같은 열에서 인접한 셀에 각각 입력되어 있는데, 이 두 셀을 하나로 합치려고 합니다. 참고로 이 기능은 같은 열에 인접한 셀만 대상으로 사용할 수 있습니다.

- 먼저 해당 셀들을 선택하고 열 너비를 충분히 늘려 두 셀의 내용이 한 셀에 모두 들어갈 수 있도록 합니다.

- 다음으로 홈 탭 → 편집 그룹 → 채우기 >> 양쪽 맞춤을 차례대로 선택합니다.

- 그러면 두 셀의 내용이 공백으로 구분되어 첫 번째 셀에 하나로 합쳐진 것을 확인할 수 있습니다.

- 이제 두 셀을 선택하여 병합하면 원하는 결과를 얻을 수 있습니다.

2. VBA 코드로 리본 메뉴 버튼을 만들어 데이터 손실 없이 병합하기
VBA 코드를 활용하면 '병합 후 가운데 맞춤'과 비슷하지만 데이터를 지우지 않는 사용자 지정 리본 버튼을 만들 수 있습니다. 아래 단계를 따라 진행해 보세요.
📌 단계:
- 먼저 통합 문서를 매크로 사용 통합 문서(.xlsm) 형식으로 저장합니다. 그런 다음 ALT + F11을 누르거나 개발 도구 >> Visual Basic을 선택하여 VB 편집기를 엽니다. 이후 삽입 >> 모듈을 선택합니다.

- 아래 코드를 복사하여 빈 코드 모듈에 붙여넣습니다.
Sub MergeCellsWithData()
Application.DisplayAlerts = False
Dim Value As String
Dim Range As Range
Set Range = Selection
If Range.Rows.Count = ActiveSheet.Rows.Count Then
MsgBox "Please do not select an entire column(s).", Title:="Merge Cells With Values"
Exit Sub
ElseIf Range.Columns.Count = ActiveSheet.Columns.Count Then
MsgBox "Please do not select an entire row(s).", Title:="Merge Cells With Values"
Exit Sub
End If
For Each cell In Range
Value = Value & " " & cell.Value
Next cell
If MsgBox("Cell values will be merged seperated by space(s). Are you sure?" _
, vbOKCancel, Title:="Merge Cells Without Losing Data") = vbCancel Then Exit Sub
With Range
.Merge
.Value = Application.WorksheetFunction.Trim(Value)
.HorizontalAlignment = xlCenterAcrossSelection
End With
Application.DisplayAlerts = True
End Sub
- 이제 ALT + F + T 키를 누르거나 파일 >> 옵션을 선택하여 리본 사용자 지정 화면으로 이동합니다. 리본 메뉴에서 마우스 오른쪽 버튼을 클릭해서 접근할 수도 있습니다. 리본 사용자 지정 탭에서 기본 탭 아래의 맞춤 그룹을 선택한 후 새 그룹을 클릭합니다.

- 새 사용자 지정 그룹이 추가되면 이름 바꾸기(Rename)를 클릭하여 그룹 이름을 변경합니다.

- 원하는 아이콘을 선택하고 표시 이름(Display Name)을 입력한 뒤 확인을 누릅니다.

- 다음으로 '명령 선택' 드롭다운 목록에서 매크로를 선택하고, 서브루틴 이름과 일치하는 매크로를 찾습니다. 추가(Add)를 클릭해 리본 메뉴에 매크로를 등록한 후 이름 바꾸기를 클릭합니다.

- 아이콘을 선택하고 표시 이름을 입력한 뒤 확인, 다시 확인을 누르면 리본 메뉴에 매크로 버튼이 추가됩니다.

- 이제 병합할 셀들을 선택하고 리본 메뉴에 추가된 매크로 버튼을 클릭합니다.

- 확인 메시지가 나타나면 확인을 클릭합니다. 첫 번째 방법과 동일한 결과를 얻을 수 있습니다.
데이터 손실 없이 엑셀에서 두 개 이상의 행 합치기
엑셀에서는 앰퍼샌드(&) 연산자를 사용해 두 개 이상의 셀 내용을 하나로 합칠 수 있습니다. 아래 단계에 따라 여러 행을 합쳐 보세요.
📌 단계:
- 먼저 아래 예제 데이터를 살펴봅니다. 각 식품 카테고리가 여러 행에 걸쳐 있을 때, 이를 하나의 셀로 합쳐야 한다고 가정합니다.

- 셀 B9에 아래 수식을 입력한 다음, 채우기 핸들을 오른쪽으로 드래그하면 아래와 같은 결과를 얻을 수 있습니다.
=B5&","&B6&","&B7
데이터 손실 없이 엑셀에서 두 개 이상의 열 합치기
여러 열의 데이터를 하나로 합칠 때는 플래시 필(Flash Fill) 기능을 활용하면 편리합니다. 아래 단계를 따라 해 보세요.
📌 단계:
- 먼저 아래 데이터처럼 First_Name 열과 Last_Name 열을 합쳐 Full_Name 열을 만들어야 한다고 가정합니다.

- 셀 D5에 앞의 두 열에서 가져온 이름과 성을 아래와 같이 입력합니다. 데이터를 쉼표로 구분하고 싶다면 공백 대신 쉼표를 넣으면 됩니다.

- 마지막으로 CTRL + E를 누르면 열들이 아래와 같이 자동으로 병합됩니다. 이 기능은 홈 탭 → 편집 그룹에서도 찾을 수 있습니다.

알아두면 좋은 사항
- 채우기 양쪽 맞춤 기능은 같은 열에 있는 인접한 셀을 선택했을 때만 사용할 수 있습니다.
- 선택한 셀들의 모든 내용이 맨 위 셀에 들어갈 만큼 열 너비를 충분히 늘리지 않으면 채우기 양쪽 맞춤 기능이 작동하지 않습니다.
- CONCATENATE, CONCAT, TEXTJOIN 함수를 사용해도 데이터 손실 없이 여러 행이나 열을 하나로 합칠 수 있습니다.
결론
이제 엑셀에서 데이터 손실 없이 두 셀을 병합하는 방법을 알게 되셨습니다. 더 궁금한 점이나 제안이 있다면 아래 댓글로 알려주세요. ExcelDemy 블로그를 방문하시면 더 많은 엑셀 활용 팁을 만나보실 수 있습니다. 저희와 함께 꾸준히 배워 나가세요!