엑셀 한 칸에 붙은 이름과 전화번호 나누기

· 엉클벤 엑셀함수(스프레드시트)

핵심 요약

  • "김민준 010-1234-5678"처럼 한 칸에 붙은 이름과 전화번호를 두 칸으로 나눕니다.
  • 이름은 =LEFT(A2,FIND(" ",A2)-1), 전화번호는 =MID(A2,FIND(" ",A2)+1,LEN(A2))를 씁니다.
  • 이름이 두 글자든 네 글자든 공백 위치를 FIND가 찾아 주기 때문에, 수식 하나를 아래로 채우기만 하면 됩니다.

상담 신청 명단을 받아 보면 "김민준 010-1234-5678"처럼 이름과 전화번호가 한 칸에 붙어 오는 경우가 있습니다. 이대로는 이름순 정렬도, 문자 발송용 번호 목록 만들기도 불편합니다. 몇 명이면 손으로 고치겠지만, 수십 명이 넘으면 수식으로 한 번에 나누는 편이 빠르고 실수도 적습니다.

엑셀 자격증 공부에서도 같은 구조가 나옵니다. "특정 글자 앞까지 잘라 내기", "특정 글자 뒤부터 가져오기"는 LEFT·MID와 FIND를 함께 쓰는 대표적인 연습 문제입니다. 이 글은 목적별 함수 조합 시리즈의 한 편으로, 예제 표 하나로 수식을 넣고 한 겹씩 풀어 봅니다.

한 칸에 붙은 이름·번호 나누기 - LEFT MID FIND 조합

예제 표 — A열에 이름과 번호가 붙어 있습니다

A열에 고객 정보가 들어 있고, B열에 이름, C열에 전화번호를 꺼내려고 합니다. 맨 윗줄의 A·B·C는 열 문자, 왼쪽의 1~8은 행 번호입니다. 이름과 번호는 모두 가상입니다.

ABC
1고객 정보이름전화번호
2김민준 010-1234-5678
3이서연 010-5678-1234
4박지호 010-2345-6789
5최수아 010-6789-2345
6남궁민수 010-3456-7890
7정하윤 010-7890-3456
8강도윤 010-4567-8901

6행의 "남궁민수"처럼 이름 길이가 다른 사람이 섞여 있다는 점이 중요합니다. "앞에서 세 글자"로 자르면 이 사람만 틀립니다. 그래서 글자 수 대신 공백이 몇 번째에 있는지를 기준으로 자릅니다.

완성 수식 — B2와 C2에 넣고 아래로 채우기

B2 셀에 이름 수식을 넣습니다.

=LEFT(A2,FIND(" ",A2)-1)

C2 셀에 전화번호 수식을 넣습니다.

=MID(A2,FIND(" ",A2)+1,LEN(A2))
  1. B2를 클릭하고 이름 수식을 입력한 뒤 Enter를 누릅니다. B2에 김민준이 나옵니다.
  2. C2를 클릭하고 전화번호 수식을 입력한 뒤 Enter를 누릅니다. C2에 010-1234-5678이 나옵니다.
  3. B2:C2를 함께 선택하고, 선택 영역 오른쪽 아래의 작은 네모(채우기 핸들)를 8행까지 끌어내립니다.

수식 안의 A2는 상대 참조라서 한 줄 내려갈 때마다 A3, A4로 자동으로 바뀝니다. 결과는 다음과 같습니다.

AB (이름)C (전화번호)
2김민준 010-1234-5678김민준010-1234-5678
3이서연 010-5678-1234이서연010-5678-1234
4박지호 010-2345-6789박지호010-2345-6789
5최수아 010-6789-2345최수아010-6789-2345
6남궁민수 010-3456-7890남궁민수010-3456-7890
7정하윤 010-7890-3456정하윤010-7890-3456
8강도윤 010-4567-8901강도윤010-4567-8901

수식 풀어 보기 — 안쪽부터 한 겹씩

2행 김민준 010-1234-5678을 예로 들어, 가장 안쪽 함수부터 값을 따라가 봅니다.

1단계: FIND로 공백 위치 찾기

FIND(" ",A2)는 A2에서 공백(" ")이 왼쪽에서 몇 번째 글자인지 알려 줍니다. "김·민·준" 다음이 공백이므로 결과는 4입니다. 6행 "남궁민수"라면 5가 나옵니다. 한글 한 글자도 1로 셉니다.

2단계: 이름 — 공백 바로 앞까지 LEFT로 자르기

FIND(" ",A2)-1은 4-1 = 3입니다. 공백 자체는 빼야 하니 1을 뺍니다. 그래서 LEFT(A2,3)이 되고, 왼쪽에서 세 글자인 김민준이 나옵니다. 남궁민수 행은 LEFT(A6,4)가 되어 네 글자를 가져옵니다.

3단계: 전화번호 — 공백 바로 뒤부터 MID로 가져오기

FIND(" ",A2)+1은 4+1 = 5, 즉 전화번호가 시작하는 자리입니다. LEN(A2)는 A2의 전체 글자 수로, 공백까지 세어 17입니다. 결국 MID(A2,5,17)이 됩니다.

5번째부터 17글자를 달라고 했지만 남은 글자는 13글자뿐입니다. Microsoft 문서에 따르면 MID는 이럴 때 오류를 내지 않고 마지막 글자까지만 돌려줍니다. 그래서 가져올 글자 수를 정확히 계산하지 않고 LEN(A2)처럼 넉넉한 값을 넣어도 됩니다.

부분2행 결과하는 일
FIND(" ",A2)4공백 위치
FIND(" ",A2)-13이름 글자 수
FIND(" ",A2)+15번호가 시작하는 자리
LEN(A2)17넉넉한 글자 수

자주 막히는 곳

#VALUE! 오류가 나는 행 — 그 칸에 공백이 없다는 뜻입니다. FIND는 찾는 글자가 없으면 #VALUE!를 돌려줍니다. 이름만 적혀 있거나 번호가 빠진 행이 섞여 있을 때 생깁니다. 그대로 두고 싶다면 =IFERROR(LEFT(A2,FIND(" ",A2)-1),A2)처럼 감싸면 오류 대신 원래 값이 나옵니다.

  • 공백 없이 붙어 있을 때 — "김민준010-1234-5678"처럼 띄어쓰기가 없으면 공백 대신 휴대전화 번호 앞자리 "010"을 기준으로 삼습니다. 이름은 =LEFT(A2,FIND("010",A2)-1), 번호는 =MID(A2,FIND("010",A2),LEN(A2))입니다. 번호는 010부터 가져와야 하므로 +1을 붙이지 않습니다.
  • 공백이 두 칸일 때 — "김민준 010-…"처럼 두 칸이 띄어 있으면 전화번호 앞에 공백 하나가 딸려 옵니다. =TRIM(MID(A2,FIND(" ",A2)+1,LEN(A2)))처럼 TRIM으로 감싸 앞뒤 공백을 없앱니다.
  • 빗금이나 쉼표로 구분돼 있을 때 — 수식 안의 " "를 "/"나 ","로 바꾸면 똑같이 동작합니다.
  • 하이픈 없는 번호가 필요할 때 — 문자 발송 도구가 숫자만 받는다면 =SUBSTITUTE(C2,"-","")로 01012345678을 만듭니다.

원본을 지우기 전에 값으로 바꾸세요. B·C열은 A열을 보고 계산한 결과라서 A열을 지우거나 고치면 함께 바뀝니다. 나눈 결과만 남기려면 B·C열을 복사한 뒤 선택하여 붙여넣기에서 값으로 붙여 넣고 나서 A열을 정리합니다.

같은 방법은 주소에도 씁니다. "경기도 성남시 분당구"가 든 칸에 =LEFT(A2,FIND(" ",A2)-1)을 쓰면 첫 공백 앞의 경기도만 꺼낼 수 있어, 지역별로 명단을 나눌 때 편합니다.

다른 방법

수식 없이: 텍스트 나누기 마법사

한 번만 나누고 끝낼 일이라면 데이터 탭의 텍스트 나누기(Microsoft 문서에는 "텍스트를 열로"로 표기) 기능을 써도 됩니다. 나눌 열을 선택하고, 구분 기호로 공백을 고른 뒤, 결과를 표시할 대상 셀을 정하고 마침을 누르는 순서입니다. 다만 수식이 아니어서 A열 내용이 바뀌어도 결과가 따라 바뀌지 않습니다.

엑셀 2024·Microsoft 365: TEXTSPLIT, TEXTBEFORE, TEXTAFTER

이 세 함수는 Microsoft 문서 기준으로 Microsoft 365용 Excel과 Excel 2024에서 쓸 수 있습니다. 엑셀 2021 이하에는 없으므로, 회사 PC나 시험장 버전이 다르면 위의 LEFT·MID·FIND 방식을 쓰세요.

=TEXTSPLIT(A2," ")

B2에 넣으면 이름은 B2, 번호는 오른쪽 C2로 흘러넘쳐 두 칸에 한 번에 나옵니다. 오른쪽 칸이 비어 있어야 합니다. 한 칸씩 따로 받고 싶다면 이름은 =TEXTBEFORE(A2," "), 번호는 =TEXTAFTER(A2," ")로 씁니다.

방법쓸 수 있는 버전원본이 바뀌면
LEFT·MID + FIND모든 버전결과도 바뀜
텍스트 나누기 마법사모든 버전바뀌지 않음
TEXTSPLIT·TEXTBEFORE·TEXTAFTERMicrosoft 365, Excel 2024결과도 바뀜

LEFT·MID·FIND·LEN은 컴퓨터활용능력 시험에서도 다루는 문자열 함수입니다. 시험 공부 중이라면 새 함수보다 이 조합을 먼저 손에 익혀 두는 편이 좋습니다.

자주 묻는 질문

FIND 대신 SEARCH를 써도 되나요?

공백이나 숫자를 찾을 때는 결과가 같습니다. 차이는 FIND가 영문 대소문자를 구분하고 SEARCH는 구분하지 않으며, SEARCH만 물음표(?)와 별표(*) 와일드카드를 쓸 수 있다는 점입니다.

전화번호 맨 앞의 0이 사라지면 어떻게 하나요?

MID로 꺼낸 값은 텍스트라서 0이 그대로 남습니다. SUBSTITUTE로 하이픈을 뺀 결과도 텍스트입니다. 0이 사라졌다면 결과를 숫자로 바꾸는 과정(곱하기 1, VALUE 함수 등)이 끼어든 경우이니 그 단계를 확인하세요.

이름·전화·주소 세 가지가 한 칸에 있으면요?

두 번째 공백의 위치는 FIND의 세 번째 인수(시작 위치)에 첫 공백 위치+1을 넣어 찾습니다. 예를 들어 FIND(" ",A2,FIND(" ",A2)+1)입니다. 다만 주소 안에도 공백이 여러 개 있어 수식이 길어지므로, Microsoft 365나 Excel 2024라면 TEXTSPLIT이 더 간단합니다.

함께 보면 좋은 글: 엑셀 LEFT RIGHT MID 함수로 글자 자르기, 엑셀 텍스트 찾기 FIND SEARCH와 와일드카드, 엑셀 TRIM LEN 함수 공백 제거와 글자 수, 엑셀 선택하여 붙여넣기 활용법 · 전체 목록은 엑셀 가이드 목차에서 볼 수 있습니다.

참고: MID 함수 (Microsoft 지원), TEXTSPLIT 함수 (Microsoft 지원), FIND·SEARCH 함수의 #VALUE! 오류 수정 (Microsoft 지원)

벤

글쓴이 · 엉클벤

엑셀·스프레드시트 함수, AI 활용법, 컴퓨터·스마트폰 생활 팁을 따라 하기 쉽게 정리합니다. 틀린 내용은 연락처로 알려 주세요. 소개 보기

📚 벤스페이퍼 엑셀 강좌

기초부터 피벗 테이블까지 배우는 순서대로 정리한 엑셀 강좌 전체 목차에서 다음 글을 이어서 볼 수 있습니다.

Powered by Blogger