직장인 실무/엑셀

LEFT, RIGHT, MID 함수

은DD 2026. 8. 26. 10:23
반응형

 

긴 텍스트에서 필요한 부분만 정확하게 잘라내는 법

1 LEFT 함수 - 앞에서부터 잘라내기

LEFT는 텍스트의 왼쪽(앞부분)에서 지정한 글자 수만큼 잘라내는 함수입니다. 주민등록번호, 사업자번호, 코드값처럼 앞자리에 규칙이 있는 데이터를 다룰 때 자주 씁니다.

=LEFT(텍스트, 글자수)
기본 예시
=LEFT(A2, 6)

A2에 "961225-1234567"이 들어있다면, 앞 6자리만 잘라냅니다.

결과: 961225
LEFT 예시
실무 예시 - 생년월일 코드에서 출생연도 추출
=IF(MID(A2,7,1)="1", "19"&LEFT(A2,2), "20"&LEFT(A2,2))

주민등록번호 앞 2자리와 뒤 첫 자리(성별코드)를 조합해 출생연도를 계산합니다. 성별코드가 1이나 2면 1900년대, 3이나 4면 2000년대생입니다.

실무 예시 - 상품 코드에서 카테고리 구분 앞자리 추출
=LEFT(B2, 3)

"ELE-2026-001"처럼 카테고리가 앞 3자리로 구분된 상품 코드에서 카테고리만 빠르게 뽑아낼 수 있습니다.

LEFT 예시

TIP 두 번째 인수(글자수)를 생략하면 기본값 1이 적용되어 맨 앞 글자 하나만 반환됩니다.

2 RIGHT 함수 - 뒤에서부터 잘라내기

RIGHT는 텍스트의 오른쪽(뒷부분)에서 지정한 글자 수만큼 잘라냅니다. 전화번호 뒷자리, 파일 확장자, 코드 끝자리 등을 추출할 때 씁니다.

=RIGHT(텍스트, 글자수)
기본 예시
=RIGHT(A2, 4)

A2에 "010-1234-5678"이 들어있다면, 뒤 4자리를 잘라냅니다.

결과: 5678
RIGHT 예시
실무 예시 - 파일명에서 확장자 추출
=RIGHT(C2, LEN(C2)-FIND(".", C2))

파일명 길이가 제각각이라 RIGHT에 고정 숫자를 넣을 수 없을 때는, FIND로 "."의 위치를 찾고 전체 길이에서 그 위치를 빼서 정확한 확장자 길이를 계산합니다.

실무 예시 - 사업자등록번호 마지막 검증번호 추출
=RIGHT(D2, 1)

주의 RIGHT로 잘라낸 결과는 항상 텍스트 형식입니다. 숫자로 계산에 쓰려면 =VALUE(RIGHT(A2,4))처럼 VALUE로 변환해야 합니다.

3 MID 함수 - 중간 부분 잘라내기

MID는 텍스트 중간의 원하는 위치에서 지정한 글자 수만큼 잘라냅니다. LEFT와 RIGHT로는 처리할 수 없는, 텍스트 중간에 있는 정보를 뽑을 때 필수입니다.

=MID(텍스트, 시작위치, 글자수)
기본 예시
=MID(A2, 8, 1)

A2에 "961225-1234567"이 들어있다면, 8번째 글자(하이픈 다음 성별코드)부터 1글자를 잘라냅니다.

결과: 1
MID 예시
실무 예시 - 자동차 번호판에서 지역·용도 구분 추출
=MID(B2, 3, 2)

"12가3456"처럼 형식이 일정한 코드에서 특정 위치의 값만 뽑아 분류 작업에 활용할 수 있습니다.

실무 예시 - 계약번호 중간의 연도 부분 추출
=MID(C2, FIND("-", C2)+1, 4)

"CON-2026-0512"처럼 하이픈 위치가 항상 같지 않을 수 있는 코드는, FIND로 첫 번째 "-"의 위치를 찾은 뒤 그 다음부터 4글자(연도)를 MID로 추출합니다.

핵심 MID의 시작위치가 텍스트 전체 길이보다 크면 오류 없이 빈 문자열을 반환합니다. 반대로 시작위치가 0이거나 음수면 #VALUE! 오류가 납니다.

4 세 함수를 다른 함수와 조합하기 (FIND, LEN)

실무 데이터는 글자 수가 항상 일정하지 않은 경우가 많아, LEFT·RIGHT·MID를 FIND(위치 찾기)나 LEN(전체 길이)과 함께 쓰는 경우가 대부분입니다.

실무 예시 - 이메일에서 아이디만 추출 (@ 앞부분, 길이 가변)
=LEFT(A2, FIND("@", A2)-1)

"hong123@company.com"처럼 아이디 길이가 사람마다 다를 때, "@"의 위치를 FIND로 찾고 그 앞까지를 LEFT로 잘라냅니다.

LEFT 예시
실무 예시 - 이메일에서 도메인만 추출 (@ 뒷부분, 길이 가변)
=RIGHT(A2, LEN(A2)-FIND("@", A2))

전체 길이(LEN)에서 "@"의 위치(FIND)를 뺀 만큼을 RIGHT로 뒤에서부터 잘라내면, 아이디 길이와 무관하게 도메인만 정확히 뽑을 수 있습니다.

5 실무 케이스 모음
① 주민등록번호로 성별 자동 판정
=IF(OR(MID(A2,8,1)="1",MID(A2,8,1)="3"), "남", "여")
② 전화번호 앞자리로 통신사·지역 구분
=LEFT(B2, 3)
③ 계좌번호 마지막 4자리만 보이게 마스킹
=REPT("*", LEN(C2)-4)&RIGHT(C2, 4)
④ 제품 코드 중간의 제조년월 추출
=MID(D2, 5, 6)
⑤ 이름에서 성만 분리 (성이 1글자인 경우)
=LEFT(E2, 1)
⑥ 주소에서 시/도만 추출 (공백 기준 가변 길이)
=LEFT(F2, FIND(" ", F2)-1)
⑦ 파일 경로에서 파일명만 추출
=MID(G2, FIND("*", SUBSTITUTE(G2, "\", "*", LEN(G2)-LEN(SUBSTITUTE(G2, "\", ""))))+1, LEN(G2))

경로 구분자 "\"가 여러 번 나오는 경우, 마지막 위치를 찾기 위해 SUBSTITUTE로 마지막 "\"만 특수문자로 바꾼 뒤 FIND로 위치를 찾는 방식입니다.

⑧ 상품명에서 규격(괄호 안 내용)만 추출
=MID(H2, FIND("(",H2)+1, FIND(")",H2)-FIND("(",H2)-1)
업무 상황 추천 함수 이유
앞자리 코드·연도 추출 LEFT 고정 위치의 앞부분 추출에 최적
뒷자리 번호·확장자 추출 RIGHT 고정 위치의 뒷부분 추출에 최적
중간 특정 위치 값 추출 MID 시작위치와 길이를 자유롭게 지정
구분자 위치가 가변적인 데이터 LEFT/RIGHT/MID + FIND 고정 글자수로 처리 불가능한 경우
6 세 함수 비교 정리

LEFT

  • 인수 2개(텍스트, 글자수)
  • 항상 맨 앞부터 시작
  • 연도, 카테고리 코드 등 앞자리 규칙에 적합

RIGHT

  • 인수 2개(텍스트, 글자수)
  • 항상 맨 뒤부터 시작
  • 확장자, 뒷자리 번호 추출에 적합

MID

  • 인수 3개(텍스트, 시작위치, 글자수)
  • 임의의 중간 위치 지정 가능
  • 가장 유연하지만 위치 계산이 필요
7 자주 하는 실수
  • 추출 결과가 텍스트라는 사실을 간과 — LEFT/RIGHT/MID의 결과는 숫자처럼 보여도 항상 텍스트입니다. 계산이나 VLOOKUP 조건에 쓰려면 VALUE로 변환하거나 앞에 +0을 붙여야 합니다.
  • 글자 수가 일정하다고 가정하고 고정 숫자만 사용 — 이름, 주소처럼 길이가 사람마다 다른 데이터에 고정 글자수를 쓰면 일부 행에서 결과가 잘못 잘립니다. FIND나 LEN과 조합해 가변 길이에 대응해야 합니다.
  • MID 시작위치를 1부터 세지 않고 0부터 계산 — 엑셀의 문자 위치는 1부터 시작합니다. 프로그래밍 언어의 습관대로 0부터 계산하면 원하는 위치보다 한 글자 앞선 결과가 나옵니다.
  • 전각·반각 공백, 특수문자 미고려 — 원본 데이터에 일반 공백이 아닌 특수 공백이나 숨은 문자가 섞여 있으면 FIND의 위치 계산이 어긋날 수 있습니다. TRIM이나 SUBSTITUTE로 먼저 정리한 뒤 적용하는 것이 안전합니다.
반응형