아래는 엑셀에서 하나의 열을 여러 열로 분할하는 과정을 보여주는 개요 이미지입니다.

방법 1 – 텍스트 나누기(Text to Columns) 기능으로 열 분할하기
마이크로소프트 제품 데이터 세트(B4:D9)가 있고, 한 열(B5:B9)에 담긴 정보를 여러 열로 나누려고 합니다.

실행 단계:
- 분할할 열 범위(B5:B9)를 선택합니다.
- 데이터 탭으로 이동합니다.
- 데이터 도구 그룹에서 '텍스트 나누기'를 클릭합니다.

- 마법사 1단계 창이 나타납니다.
- '분리 기호로 구분됨' 옵션을 선택하고 다음을 클릭합니다.

- 마법사 2단계 창에서 '공백' 항목에 체크합니다.
- 미리 보기 상자에서 결과를 미리 확인할 수 있습니다.
- 다음을 클릭합니다.

- 마법사 3단계 창이 열리면 '열 데이터 서식'에서 '일반'을 선택합니다.
- 대상 상자에 결과를 표시할 위치를 지정합니다.
- 미리 보기 상자에서 결과가 올바르게 표시되는지 확인합니다.
- 마침을 클릭합니다.

- 한 열의 데이터가 여러 열로 분할되었습니다.

방법 2 – 쉼표(,) 구분 기호를 기준으로 열 분할하기
제품명과 연도가 한 열에 함께 들어 있는 마이크로소프트 제품 데이터 세트(B4:D9)를 분할해 보겠습니다.

실행 단계:
- 분할할 열 범위(B5:B9)를 선택합니다.
- 데이터 탭 → 데이터 도구 그룹 → 텍스트 나누기를 차례로 클릭합니다.

- 마법사 1단계 창이 나타나면 '분리 기호로 구분됨'을 선택하고 다음을 클릭합니다.

- 마법사 2단계 창에서 '기타' 항목에 체크하고 ","를 입력합니다. 또는 쉼표 옵션에 직접 체크해도 됩니다.
- 미리 보기 상자에서 결과 형태를 확인합니다.
- 다음을 클릭합니다.

- 마법사 3단계 창에서 '열 데이터 서식'으로 '일반'을 선택합니다.
- 대상 상자에 결과를 표시할 위치를 지정합니다.
- 미리 보기 상자에서 결과가 정확한지 확인합니다.
- 마침을 클릭합니다.

- 확인 대화상자가 나타나면 확인을 선택합니다.

- 아래와 같은 결과를 얻을 수 있습니다.

방법 3 – 병합된 셀을 여러 열로 분할하기
병합된 셀이 포함된 열이 있습니다. 이 셀들의 병합을 해제하여 여러 열로 변환해 보겠습니다.

실행 단계:
- 병합된 모든 셀을 선택합니다.
- 홈 탭으로 이동합니다.
- 맞춤 섹션의 병합 후 가운데 맞춤 드롭다운을 클릭합니다.
- 셀 병합 해제를 선택합니다.

- 셀 병합이 해제되고 각각 다른 열로 분할된 것을 확인할 수 있습니다.

방법 4 – 빠른 채우기(Flash Fill)로 열 분할하기
연도 정보가 포함된 마이크로소프트 제품 데이터 세트가 있습니다. 한 열(B4:B9)의 데이터를 여러 열로 나눠 보겠습니다.

실행 단계:
- C5 셀을 선택하고 제품명 "Microsoft Excel"을 입력합니다.
- D5 셀을 선택하고 연도 "2018"을 입력합니다.

- C5 셀을 선택한 뒤 채우기 핸들 도구로 아래 빈 셀들을 자동 채웁니다.
- 하단 모서리에 나타난 '자동 채우기 옵션' 패널에서 '빠른 채우기'를 클릭합니다.

- 다음 열에 대해서도 동일하게 반복합니다.

방법 5 – 엑셀 VBA로 열 분할하기
연도별 마이크로소프트 엑셀 제품 데이터 세트(B4:B14)가 있습니다. 이 열을 D4와 E4 두 개의 열로 분할해 보겠습니다.

실행 단계:
- 열의 모든 값을 선택합니다.
- 시트 탭에서 워크시트 이름 위에서 마우스 오른쪽 버튼을 클릭합니다.
- '코드 보기'를 선택합니다.

- VBA 모듈 창이 열리면 아래 코드를 입력합니다.
Sub SplitOneColumn()
Dim rng As Range
Dim InputRng As Range
Dim OutputRng As Range
Dim xRow As Integer
Dim xCol As Integer
Dim xArr As Variant
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Select Input Range :", "SplitOneColumn", InputRng.Address, Type:=8)
xRow = Application.InputBox("Enter Row Number :", "SplitOneColumn")
Set OutputRng = Application.InputBox("Select Output Range :", xTitleId, Type:=8)
Set InputRng = InputRng.Columns(1)
xCol = InputRng.Cells.Count / xRow
ReDim xArr(1 To xRow, 1 To xCol + 1)
For i = 0 To InputRng.Cells.Count - 1
xValue = InputRng.Cells(i + 1)
iRow = i Mod xRow
iCol = VBA.Int(i / xRow)
xArr(iRow + 1, iCol + 1) = xValue
Next
OutputRng.Resize(UBound(xArr, 1), UBound(xArr, 2)).Value = xArr
End Sub
- 실행(Run) 옵션을 클릭합니다.

- 확인 대화상자에서 실행을 선택합니다.

- 입력 범위를 선택하고 확인을 클릭합니다.

- 새 열에 표시할 행 수를 입력하고 확인을 선택합니다.

- 새 열의 시작 셀을 선택하고 확인을 클릭합니다.

- 한 열의 모든 값이 두 개의 열로 분할된 결과를 확인할 수 있습니다.

방법 6 – INDEX 함수와 ROW 함수 조합으로 열 분할하기
값들이 행 순서대로 배치된 데이터 세트(B4:B14)가 있습니다. 이 값들을 두 개의 열(Column1, Column2)로 나눠 보겠습니다.

실행 단계:
- D5 셀을 선택합니다.
- 아래 수식을 입력하고 Enter 키를 누릅니다.
=INDEX($B$5:$B$14,ROWS(D$5:D5)*2-1)

- 채우기 핸들을 사용해 아래 셀들을 자동 채웁니다.

- E5 셀을 선택합니다.
- 아래 수식을 입력하고 Enter 키를 누릅니다.
=INDEX($B$5:$B$14,ROWS(E$5:E5)*2)

- 채우기 핸들을 사용해 결과를 확인합니다.

방법 7 – LEFT 함수와 RIGHT 함수로 열 분할하기
텍스트 함수를 활용해 한 열의 값을 분할해 보겠습니다.

실행 단계:
- C5 셀을 선택합니다.
- 아래 수식을 입력하고 Enter 키를 누릅니다.
=LEFT(B5,SEARCH(" ",B5)-1)

➥ 수식 설명
➤ SEARCH(" ",B5)
SEARCH 함수는 공백의 위치를 반환합니다.
➤ LEFT(B5,SEARCH(" ",B5)-1)
공백 앞까지의 값을 반환합니다.
- Enter 키를 누른 뒤 채우기 핸들 도구로 아래 셀들을 자동 채웁니다.

- D5 셀을 선택합니다.
- 아래 수식을 입력하고 Enter 키를 누릅니다.
=RIGHT(B5,LEN(B5)-SEARCH(" ",B5))

- 채우기 핸들을 사용해 결과를 확인합니다.

➥ 수식 설명
➤ SEARCH(" ",B5)
SEARCH 함수는 공백의 위치를 반환합니다.
➤ LEN(B5)
LEN 함수는 전체 문자 수를 반환합니다.
➤ RIGHT(B5,LEN(B5)-SEARCH(" ",B5))
공백 이후의 값을 반환합니다.
실습용 통합 문서 다운로드
함께 읽으면 좋은 글
- 엑셀에서 단어 단위로 열 분할하기
- 엑셀에서 첫 번째 공백을 기준으로 열 분할하는 방법
- 엑셀에서 쉼표를 기준으로 열 분할하는 방법
- 엑셀에서 날짜 및 시간 열 분할하기
무료 고급 엑셀 실습 문제와 솔루션을 받아보세요!