엑셀 텍스트 자르기 — LEFT·RIGHT·MID·FIND 완벽 정리

최종 업데이트 2026-07-20

이메일에서 아이디만, 주민등록번호 앞자리로 생년월일·성별을, 상품 코드에서 특정 자리만 뽑아야 하는 상황은 실무에서 끊임없이 나옵니다. LEFT·RIGHT·MID 세 함수와 위치를 찾는 FIND만 조합하면 대부분 해결되고, 최신 버전에서는 더 쉬운 함수도 있습니다.

기본 3함수 문법

함수구조의미
LEFT=LEFT(텍스트, 개수)왼쪽부터 지정한 개수만큼 추출
RIGHT=RIGHT(텍스트, 개수)오른쪽부터 지정한 개수만큼 추출
MID=MID(텍스트, 시작위치, 개수)시작위치부터 지정한 개수만큼 추출

실제 데이터로 연습하기

A(원본)설명
hong123@company.co.kr이메일 주소
901225-1234567주민등록번호
PRD-2026-A1023상품 코드

이메일에서 @ 앞의 아이디만 뽑으려면 @의 위치를 먼저 FIND로 찾은 뒤 그 직전까지를 LEFT로 잘라냅니다.

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

결과는 "hong123"이 됩니다. FIND("@", A2)가 8을 돌려주므로 8-1=7글자를 왼쪽에서 잘라낸 것입니다.

주민등록번호에서 생년월일·성별 뽑기

주민등록번호 앞 6자리는 생년월일, 하이픈 뒤 첫 자리는 성별 코드입니다. LEFT와 MID로 각각 뽑습니다.

=LEFT(A3, 6)
=MID(A3, 8, 1)

LEFT(A3, 6)은 '901225'(생년월일 6자리)를, MID(A3, 8, 1)은 하이픈 다음 성별 코드 1자리('1', 남성)를 가져옵니다. 하이픈(7번째 글자) 자체는 건너뛰고 8번째 글자부터 시작한 것에 주의하세요.

상품 코드에서 연도·일련번호 뽑기

'PRD-2026-A1023'에서 연도(2026)만 뽑으려면 MID로 5번째 글자부터 4자리를 가져옵니다.

=MID(A4, 5, 4)

마지막 일련번호(A1023)는 RIGHT로 뒤에서 5자리를 가져오면 됩니다.

=RIGHT(A4, 5)

결과가 '숫자'가 아니라 '문자'라는 함정

⚠️

LEFT·RIGHT·MID로 추출한 결과는 원본이 숫자였더라도 항상 '텍스트(문자열)'로 반환됩니다. 주민등록번호 앞 6자리를 LEFT로 뽑아 생년월일처럼 보여도, 이 값으로 SUM이나 날짜 비교, 크기 비교를 하면 오류가 나거나 0으로 계산됩니다. 셀이 왼쪽 정렬되어 있다면 문자열이라는 뜻이니, 반드시 VALUE 함수로 감싸 숫자로 변환한 뒤 계산에 써야 합니다.

=VALUE(LEFT(A3, 6))

FIND vs SEARCH — 대소문자 구분 차이

위치를 찾는 함수는 FIND와 SEARCH 두 가지가 있습니다. 기능은 거의 같지만 대소문자 처리 방식이 다릅니다.

함수대소문자 구분와일드카드(*, ?) 지원
FIND구분함 (A와 a를 다르게 인식)지원 안 함
SEARCH구분 안 함 (A와 a를 같게 인식)지원함

코드나 아이디처럼 대소문자가 의미를 가지는 데이터는 FIND를, 사람이 입력해 대소문자가 뒤섞일 수 있는 텍스트는 SEARCH를 쓰는 것이 안전합니다.

⚠️

FIND·SEARCH 둘 다 찾는 문자가 원본에 아예 없으면 #VALUE! 오류를 반환합니다. 일부 행에만 @가 없는 이메일 목록처럼 데이터가 일정하지 않다면, IFERROR로 감싸 오류 대신 빈 값이나 '형식오류' 같은 문구를 표시하는 것이 안전합니다.

=IFERROR(LEFT(A2, FIND("@", A2) - 1), "형식오류")

최신 함수로 더 쉽게 — TEXTBEFORE·TEXTAFTER·TEXTSPLIT

엑셀 2021·Microsoft 365, 최신 구글시트라면 FIND를 몰라도 구분 기호 앞뒤를 바로 뽑아주는 함수가 있습니다.

최신 함수기존 방식과 비교
=TEXTBEFORE(A2,"@")=LEFT(A2, FIND("@",A2)-1) 과 동일한 결과를 함수 하나로
=TEXTAFTER(A2,"@")@ 뒤의 도메인 부분(company.co.kr)을 바로 추출
=TEXTSPLIT(A4,"-")'-' 기준으로 여러 조각을 한 번에 옆 셀로 펼쳐서 추출
⚠️

TEXTBEFORE·TEXTAFTER·TEXTSPLIT는 엑셀 2021 이하 영구 라이선스 버전이나 회사에서 흔히 쓰는 엑셀 2019에서는 지원되지 않습니다. 구독형 Microsoft 365가 아니라면 여전히 LEFT·RIGHT·MID·FIND 조합을 써야 하므로, 함께 작업하는 동료의 엑셀 버전을 먼저 확인하는 것이 안전합니다.

💡

텍스트 추출 수식이 여러 겹 중첩되어 길어지면 나중에 알아보기 어렵습니다. 중간 계산값(예: @의 위치)을 별도의 보조열에 먼저 구해두고, 그 보조열을 참조해서 최종 수식을 짜면 오류를 찾기 훨씬 쉬워집니다.

추출한 텍스트의 앞뒤 자릿수를 맞추고 싶을 때

사번이나 코드에서 뽑은 값을 항상 일정한 자릿수로 맞추고 싶다면 REPT와 LEN을 조합해 부족한 자리를 0으로 채웁니다. C열에서 뽑은 숫자(예: '23')를 항상 5자리('00023')로 만들려면 다음과 같이 씁니다.

=REPT("0", 5-LEN(C2)) & C2

LEN(C2)로 현재 글자 수를 구하고, 목표 자릿수(5)에서 뺀 만큼 REPT로 '0'을 반복해 앞에 붙입니다. 셀 서식에서 '000000' 같은 사용자 지정 숫자 서식을 쓰는 방법도 있지만, 그 값이 이미 텍스트라면 서식이 적용되지 않으므로 이 수식이 더 확실합니다.

복잡한 텍스트 추출 수식 AI로 바로 만들기 →

함께 보면 좋은 글