정보/직장인 정보

엑셀 글자 셀 나누는 방법 (초간단)

그린로 2025. 3. 18.

엑셀에서 주소 데이터를 정리할 때, 특정 패턴에 맞춰 자동으로 데이터를 분리하고 싶을 때가 있죠! 예를 들어, 다음과 같은 데이터가 있다고 가정해볼게요.

📌 원본 데이터 (C열)

강원 강릉
서울 강남
부산 해운대
제주 서귀포

이 데이터를 다음과 같이 정리하고 싶다면?

  • C열: 앞에서 두 글자만 남김
  • D열: 나머지 글자를 이동

✅ 원하는 결과

C열 (변경 후) D열 (변경 후)

강원 강릉
서울 강남
부산 해운대
제주 서귀포

📌 VBA 코드로 자동화하기

이 작업을 수작업으로 하기엔 너무 번거롭죠? 😵‍💫 그래서 VBA 매크로 코드를 사용해 한 번에 해결할 수 있는 방법을 소개할게요!

✅ VBA 코드

1️⃣ 엑셀에서 ALT + F11 눌러 VBA 편집기 열기 2️⃣ 삽입 → 모듈(Module) 추가 3️⃣ 아래 코드를 복사해서 붙여넣고 실행하면 끝!

Sub ModifyAddressData()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim fullText As String
    Dim firstTwoChars As String
    Dim remainingText As String
    
    ' 현재 활성화된 시트 지정
    Set ws = ActiveSheet
    
    ' C열의 마지막 행 찾기
    lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
    
    ' C열 데이터 수정 및 D열 입력
    For i = 1 To lastRow
        fullText = Trim(ws.Cells(i, 3).Value) ' 공백 제거 후 가져오기
        
        ' 최소 두 글자 이상이면 처리
        If Len(fullText) >= 2 Then
            firstTwoChars = Mid(fullText, 1, 2) ' 앞 두 글자 가져오기
            remainingText = Mid(fullText, 3) ' 세 번째 글자부터
            
            ' C열 업데이트 (앞 두 글자만 남기기)
            ws.Cells(i, 3).Value = firstTwoChars
            
            ' D열 업데이트 (나머지 글자)
            ws.Cells(i, 4).Value = remainingText
        Else
            ' 두 글자 미만이면 C열 그대로 두고 D열은 빈 값
            ws.Cells(i, 4).Value = ""
        End If
    Next i
    
    MsgBox "변환 완료! C열: 앞 두 글자만, D열: 나머지 글자", vbInformation
End Sub

 

✅ 코드 설명

💡 이 코드가 하는 일:

  1. C열 데이터에서 처음 두 글자를 추출 → C열에 저장
  2. 나머지 글자는 D열에 저장
  3. 공백이 있어도 자동으로 정리 (예: " 강원 강릉" → "강원" / "강릉")
  4. 한 글자만 있는 경우는 C열 유지 & D열 비움
  5. 마지막 데이터까지 자동 반복 처리 (데이터 개수 상관없음)

📌 실행 예시 (공백이 있는 경우도 해결!)

C열 (원본) C열 (변경 후) D열 (변경 후)

" 강원 강릉" 강원 강릉
" 서울 강남" 서울 강남
"부산 해운대" 부산 해운대
" 제주 서귀포" 제주 서귀포

🎯 활용하면 좋은 상황

주소 데이터 정리 (예: 지역명 + 세부 주소 분리)
상품명 정리 (예: 브랜드 + 제품명 분리)
이름 정리 (예: 성 + 이름 분리)

🚀 마무리

이제 VBA 매크로를 실행하면 C열에는 앞 두 글자만 남고, 나머지는 D열로 이동하는 자동화가 완료됩니다! 😆

이 방법을 활용하면 반복적인 수작업을 줄이고 데이터를 깔끔하게 정리할 수 있어요. 궁금한 점 있으면 댓글 남겨주세요~! 😊

댓글