긴 엑셀 열에서 원하는 값을 찾는 일은 생각보다 번거롭습니다. 이럴 때 한 열을 여러 열로 나누면 데이터 가독성이 크게 향상되고 필요한 정보를 훨씬 빠르게 찾을 수 있습니다. 이 글에서는 예시와 함께 엑셀에서 하나의 열을 여러 열로 분할하는 7가지 방법을 자세히 소개하겠습니다.
연습용 워크북
아래 워크북을 내려받아 직접 실습해 보세요.
엑셀에서 한 열을 여러 열로 나누는 7가지 방법
1. '텍스트 나누기' 기능으로 한 열을 여러 열로 분할하기
'텍스트 나누기(Text to Columns)'는 엑셀에 기본으로 내장된 기능입니다. 마이크로소프트 제품 목록이 담긴 데이터(B4:D9)가 있고, 한 열(B5:B9)의 정보를 여러 열로 나눈다고 가정해 보겠습니다.

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

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

- 마법사 2단계 창에서 '공백' 항목에 체크합니다.
- 데이터 미리 보기 창에서 결과가 어떻게 표시되는지 확인합니다.
- 다음을 클릭합니다.

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

- 완료하면 한 열의 데이터가 여러 열로 나누어진 것을 확인할 수 있습니다.

2. 한 열 안의 여러 줄 데이터를 여러 열로 나누기
'텍스트 나누기' 기능을 활용하면 한 셀에 여러 줄 또는 쉼표 등으로 구분된 데이터도 손쉽게 분할할 수 있습니다. 제품명과 연도가 함께 입력된 데이터(B4:D9)를 여러 열로 나눠 보겠습니다.

단계:
- 나눌 열 범위(B5:B9)를 선택합니다.
- 데이터 탭 > 데이터 도구 > '텍스트 나누기'로 이동합니다.

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

- 마법사 2단계 창에서 '기타'에 체크하고 구분 기호로 ","(쉼표)를 입력합니다.
- 데이터 미리 보기에서 결과를 확인한 후 다음을 클릭합니다.

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

- 덮어쓰기 확인 창이 뜨면 확인을 선택합니다.

- 최종적으로 아래와 같이 데이터가 여러 열로 나누어집니다.

3. 병합된 셀을 여러 열로 나누기
아래 데이터처럼 셀이 병합된 열이 있다면, 병합을 해제하여 여러 열로 변환할 수 있습니다.

단계:
- 병합된 셀들을 모두 선택합니다.
- 홈 탭으로 이동합니다.
- 맞춤 그룹에서 '병합 후 가운데 맞춤' 드롭다운을 클릭합니다.
- '셀 병합 해제'를 선택합니다.

- 병합이 해제되고 데이터가 각각의 열로 분리된 것을 확인할 수 있습니다.

함께 읽으면 좋은 글: 엑셀 파워 쿼리로 열 나누기 (5가지 쉬운 방법)
4. '빠른 채우기' 기능으로 한 열을 여러 열로 나누기
엑셀에는 스마트한 도구들이 여럿 있는데, '빠른 채우기(Flash Fill)'도 그중 하나입니다. 빠른 채우기는 사용자가 입력한 패턴을 학습해 나머지 셀에 자동으로 같은 규칙을 적용해 줍니다. 제품명과 연도가 섞여 있는 한 열의 데이터(B4:B9)를 여러 열로 나눠 보겠습니다.

단계:
- C5 셀을 선택하고 첫 번째 제품명 "Microsoft Excel"을 입력합니다.
- D5 셀에는 연도 "2018"을 입력합니다.

- C5 셀을 선택한 상태에서 채우기 핸들을 드래그해 아래 빈 셀을 채웁니다.
- '자동 채우기 옵션'에서 '빠른 채우기'를 클릭합니다.

- 옆 열(D열)에도 같은 작업을 반복하면 아래와 같은 결과를 얻을 수 있습니다.

5. VBA 매크로로 한 열을 여러 열로 나누기
엑셀의 VBA(Visual Basic for Application) 코드를 활용하면 한 열을 여러 열로 분할할 수도 있습니다. 연도별 제품 데이터(B4:B14)가 있고, 이를 D열과 E열 두 개의 열로 나눈다고 가정해 보겠습니다.

단계:
- 먼저 해당 열의 모든 값을 선택합니다.
- 시트 탭에서 해당 워크시트를 마우스 오른쪽 버튼으로 클릭합니다.
- '코드 보기(View Code)'를 선택합니다.

- 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 수식으로 한 열을 여러 열로 나누기
INDEX 함수와 ROWS 함수를 조합하면 수식만으로 한 열의 데이터를 여러 열에 분산 배치할 수 있습니다. 데이터(B4:B14)가 있고, 이를 두 개의 열(Column1, Column2)로 나눈다고 가정해 보겠습니다.

단계:
- 먼저 D5 셀을 선택합니다.
- 아래 수식을 입력합니다.
=INDEX($B$5:$B$14,ROWS(D$5:D5)*2-1)
- Enter를 누르고 채우기 핸들로 아래 셀까지 드래그합니다.

- 이번에는 E5 셀을 선택합니다.
- 아래 수식을 입력합니다.
=INDEX($B$5:$B$14,ROWS(E$5:E5)*2)
- Enter를 누르고 채우기 핸들을 사용해 결과를 완성합니다.

7. LEFT & RIGHT 함수로 한 열을 여러 열로 나누기
엑셀의 LEFT 함수는 문자열의 왼쪽부터 지정한 개수만큼 문자를 반환하고, RIGHT 함수는 오른쪽 끝의 문자들을 추출합니다. 두 함수 모두 엑셀의 텍스트 함수입니다. 한 열에 담긴 데이터(B4:B9)를 텍스트 함수로 나눠 보겠습니다.

단계:
- C5 셀을 선택합니다.
- 아래 수식을 입력합니다.
=LEFT(B5,SEARCH(" ",B5)-1)
➥ 수식 설명
➤ SEARCH(" ",B5)
SEARCH 함수는 공백의 위치를 반환합니다.
➤ LEFT(B5,SEARCH(" ",B5)-1)
공백 앞까지의 값, 즉 제품명 부분을 추출합니다.
- Enter를 누르고 채우기 핸들로 아래 셀을 채웁니다.

- 이제 D5 셀을 선택합니다.
- 아래 수식을 입력합니다.
=RIGHT(B5,LEN(B5)-SEARCH(" ",B5))
- 마지막으로 Enter를 누르고 채우기 핸들로 결과를 완성합니다.

➥ 수식 설명
➤ SEARCH(" ",B5)
SEARCH 함수가 공백의 위치를 반환합니다.
➤ LEN(B5)
LEN 함수가 전체 문자 수를 반환합니다.
➤ RIGHT(B5,LEN(B5)-SEARCH(" ",B5))
공백 이후의 값, 즉 연도 부분을 추출합니다.
마무리
지금까지 엑셀에서 한 열을 여러 열로 나누는 가장 빠른 7가지 방법을 살펴보았습니다. 연습용 워크북을 다운로드해 직접 따라 해 보세요. 궁금한 점이나 추가로 알고 싶은 방법이 있다면 언제든 의견을 남겨 주세요.
관련 글
- 엑셀에서 단어 기준으로 열 나누기 (5가지 효과적인 방법)
- 엑셀에서 첫 번째 공백 기준으로 열 나누기 (쉬운 단계별 방법)
- 엑셀에서 쉼표 기준으로 열 나누기 (8가지 빠른 방법)
- 엑셀에서 날짜 및 시간 열 나누기 (7가지 쉬운 방법)