엑셀 LEFT RIGHT MID 함수로 글자 자르기

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

핵심 요약

  • LEFT(셀, n)은 왼쪽부터, RIGHT(셀, n)은 오른쪽부터 n글자를, MID(셀, 시작, n)은 시작 위치부터 n글자를 잘라 옵니다. 한글도 한 글자를 1로 셉니다.
  • 잘라 낼 길이가 행마다 다르면 FIND·SEARCH로 구분 기호 위치를 찾고, LEN으로 전체 길이를 구해 글자 수를 계산합니다.
  • 세 함수의 결과는 숫자처럼 보여도 텍스트입니다. 계산에 쓰려면 숫자로 바꿔야 합니다.

상품코드 DRV-2026-A01에서 앞의 상품 구분만, 날짜 문자열 20260917에서 연도만 따로 떼어 내야 할 때가 있습니다. 한두 개라면 직접 입력해도 되지만 목록이 길어지면 함수로 잘라 내는 편이 정확합니다.

이 글에서는 글자를 자르는 LEFT, RIGHT, MID 함수의 기본 사용법과, 길이가 제각각인 문자열에서 FIND·SEARCH·LEN을 조합해 원하는 부분만 뽑는 방법을 정리합니다.

글자 자르기 원하는 부분만 - LEFT·RIGHT·MID 함수

LEFT·RIGHT·MID 함수 기본 구조

=LEFT(text, [num_chars])
=RIGHT(text, [num_chars])
=MID(text, start_num, num_chars)
인수뜻예시
text글자를 잘라 낼 문자열 또는 셀A2
num_chars가져올 글자 수. LEFT·RIGHT에서 생략하면 13
start_numMID만 사용. 몇 번째 글자부터 가져올지5

A2에 DRV-2026-A01이 있을 때 결과는 다음과 같습니다.

수식결과
=LEFT(A2, 3)DRV
=RIGHT(A2, 3)A01
=MID(A2, 5, 4)2026
=LEFT("운전자보험 갱신형", 5)운전자보험

한글도 영문과 똑같이 한 글자를 1로 셉니다. 바이트 단위로 잘라야 하는 특수한 경우에만 LEFTB, RIGHTB, MIDB를 씁니다.

날짜 문자열을 연·월·일로 나누기

시스템에서 내려받은 날짜가 20260917처럼 여덟 자리로 붙어 있으면 엑셀이 날짜로 인식하지 못합니다. B2에 이 값이 있다면 세 함수로 나눌 수 있습니다.

  • 연도: =LEFT(B2, 4) → 2026
  • 월: =MID(B2, 5, 2) → 09
  • 일: =RIGHT(B2, 2) → 17

세 결과를 DATE 함수에 넣으면 진짜 날짜 값이 됩니다.

=DATE(LEFT(B2,4), MID(B2,5,2), RIGHT(B2,2))

자릿수가 일정한 데이터에서는 이렇게 고정된 숫자만으로 충분합니다. 길이가 행마다 다를 때는 아래 방법을 씁니다.

LEFT와 FIND로 구분 기호 앞 글자 가져오기

DRV-2026-A01과 HEALTH-2025-B07처럼 앞부분 길이가 다르면 LEFT에 고정 숫자를 넣을 수 없습니다. 이때는 구분 기호의 위치를 찾아 그 앞까지만 가져옵니다.

=LEFT(A2, FIND("-", A2)-1)
  1. FIND가 첫 하이픈 위치를 찾습니다. DRV-2026-A01이면 4입니다.
  2. 하이픈까지 포함하지 않도록 1을 빼 3을 만듭니다.
  3. LEFT가 왼쪽 3글자 DRV를 가져옵니다. HEALTH-2025-B07이면 같은 수식으로 HEALTH가 나옵니다.
C4 셀에 =LEFT(B4,FIND(",",B4)-1)을 입력해 San Francisco, California에서 쉼표 앞 도시 이름을 가져오는 엑셀 화면
쉼표 위치에서 1을 빼 쉼표 앞 도시 이름만 가져온 예. 머리글은 State name이지만 결과는 도시 이름입니다 (영문판 엑셀 화면 · 이미지 출처: Deskbright's Ultimate Excel Book, 저자 허락 하에 사용)

RIGHT와 LEN으로 구분 기호 뒤 글자 가져오기

구분 기호 뒤쪽 전체를 가져오려면 전체 글자 수에서 구분 기호 위치를 빼 RIGHT에 넘깁니다. A3에 운전자보험, 갱신형이 있다면 다음과 같습니다.

=TRIM(RIGHT(A3, LEN(A3)-SEARCH(",", A3)))

LEN이 10, SEARCH가 쉼표 위치 6을 돌려주므로 오른쪽 4글자 " 갱신형"을 가져오고, TRIM이 쉼표 뒤 공백을 지워 갱신형만 남깁니다. 아래 화면도 같은 원리로 쉼표 뒤의 주 이름을 뽑았습니다.

C3 셀에 =TRIM(RIGHT(B3,LEN(B3)-SEARCH(",",B3)))을 입력하고 C4, C5에 California, Illinois가 추출된 엑셀 화면
RIGHT·LEN·SEARCH·TRIM을 조합해 쉼표 뒤 글자를 가져오는 수식 (영문판 엑셀 화면 · 이미지 출처: Deskbright's Ultimate Excel Book, 저자 허락 하에 사용)

MID와 SEARCH로 가운데 글자 가져오기

가운데 부분은 시작 위치가 행마다 달라지므로 MID의 start_num을 SEARCH로 계산합니다. 아래 화면은 쉼표 위치에 2를 더해(쉼표와 공백을 건너뜀) 두 글자짜리 주 약어를 가져온 예입니다.

C3 셀에 =MID(B3,SEARCH(",",B3)+2,2)를 입력해 Boston, MA 02201에서 MA를 추출하고 아래로 CA, NY, IL이 표시된 엑셀 화면
SEARCH로 시작 위치를 계산해 MID로 가운데 두 글자를 가져온 예 (영문판 엑셀 화면 · 이미지 출처: Deskbright's Ultimate Excel Book, 저자 허락 하에 사용)

가져올 글자 수까지 달라지면 두 구분 기호 사이의 거리를 계산합니다. 상품코드의 두 하이픈 사이 연도는 다음 수식으로 뽑습니다.

=MID(A2, FIND("-",A2)+1, FIND("-",A2,FIND("-",A2)+1)-FIND("-",A2)-1)

DRV-2026-A01은 첫 하이픈이 4, 두 번째가 9이므로 5번째부터 4글자(9-4-1) 2026을 가져옵니다.

세 함수의 결과는 2026처럼 숫자 모양이어도 텍스트라 SUM에서 빠지거나 VLOOKUP에서 숫자와 일치하지 않습니다. =--MID(A2,5,4)처럼 숫자로 바꿔 쓰세요. 수식이 부담스럽다면 데이터 탭 > 텍스트 나누기로 구분 기호 기준으로 열을 나누거나, 예시 한두 개를 직접 입력한 뒤 Ctrl+E(빠른 채우기, 엑셀 2013 이후)를 눌러도 됩니다.

구글 스프레드시트에서는

구글 스프레드시트의 LEFT, RIGHT, MID, FIND, SEARCH, LEN은 엑셀과 사용법이 같습니다. 구분 기호로 나누기만 하면 된다면 =SPLIT(A2, "-") 한 줄로 옆 칸들에 조각을 펼칠 수 있어 수식이 훨씬 짧아집니다.

자주 묻는 질문

num_chars에 남은 글자 수보다 큰 숫자를 넣으면 오류가 나나요?

오류가 나지 않고 끝까지 있는 글자만 가져옵니다. 그래서 =MID(A2, 5, 999)처럼 큰 숫자를 넣어 5번째 글자부터 끝까지 가져오는 방식이 자주 쓰입니다.

LEFT로 자른 숫자를 더하면 합계가 0으로 나옵니다.

텍스트 함수의 결과는 텍스트라 SUM이 무시합니다. =--LEFT(B2,4) 또는 =VALUE(LEFT(B2,4))처럼 숫자로 바꾼 뒤 더하세요.

FIND 결과에서 1을 빼는 이유는 무엇인가요?

FIND는 구분 기호 자체의 위치를 돌려줍니다. 그 숫자를 그대로 LEFT에 넣으면 구분 기호까지 포함되므로, 1을 빼 구분 기호 바로 앞 글자까지만 가져옵니다.

함께 보면 좋은 글: 엑셀 텍스트 찾기 FIND SEARCH와 와일드카드, 엑셀 TRIM LEN 함수 공백 제거와 글자 수, 엑셀 텍스트 합치기 CONCATENATE와 &

벤

글쓴이 · 엉클벤

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

📚 벤스페이퍼 엑셀 강좌

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

Powered by Blogger