엑셀 MID 함수로 텍스트 중간 추출하는 법 FIND LEN 조합 포함

데이터를 다루다 보면 셀 안의 텍스트 중 일부만 뽑아야 할 때가 생깁니다. 주민번호에서 생년월일만, 제품 코드에서 카테고리 코드만 추출하는 상황이 대표적입니다. 이럴 때 MID 함수 하나면 깔끔하게 해결됩니다.

MID 함수 기본 구조와 인수 설명

MID 함수의 기본 구조는 `=MID(텍스트, 시작위치, 추출길이)` 입니다.

각 인수의 의미는 아래와 같습니다.

  • 텍스트: 추출 대상이 되는 문자열 또는 셀 참조
  • 시작위치(start_num): 왼쪽에서 몇 번째 문자부터 추출할지 지정
  • 추출길이(num_chars): 몇 글자를 가져올지 지정

start_num이 텍스트 전체 길이보다 크면 MID는 빈 텍스트(“”)를 반환합니다.

핵심 요약

  1. 세 인수 모두 필수값이며 생략 불가
  2. 시작위치는 1부터 셈 (0이 아님)
  3. 추출길이를 크게 입력해도 실제 문자 수 이상으로 반환되지 않음
  4. 결과는 항상 텍스트 형식으로 반환됨

기본 사용 예시

`=MID(“서울/홍익문고”, 4, 2)`를 입력하면 4번째 문자부터 2글자인 ‘홍익’이 반환됩니다. 추출 길이를 4로 늘리면 ‘홍익문고’ 전체를 가져올 수 있습니다.

실무에서 자주 쓰이는 패턴은 다음과 같습니다.

  • 주민번호 `800501-1234567`에서 성별 코드 추출: `=MID(“800501-1234567”, 8, 1)` → 결과: `1`
  • 주문번호에서 날짜 정보 추출: `=MID(A2, 4, 8)` → 결과: `20240101`

FIND·LEN 함수와 조합해 동적 추출하기

고정 위치가 아니라 특정 문자 기준으로 추출해야 할 때는 FIND 함수와 함께 씁니다.

`=MID(제품코드, FIND(“-“, 제품코드), 3)`처럼 작성하면 “-” 문자를 기준으로 그 이후 3글자를 자동으로 추출할 수 있습니다.

두 문자 사이의 값을 뽑는 상황도 있습니다. 예를 들어 셀 값이 “서울시 강남구 오빠두 센터”일 때, `=MID(셀, FIND(“강남구 “, 셀)+LEN(“강남구 “), FIND(” 센터”, 셀)-FIND(“강남구 “, 셀)-LEN(“강남구 “))` 수식으로 “오빠두”만 추출할 수 있습니다.

LEFT, RIGHT 함수와 차이점

LEFT 함수는 텍스트 왼쪽에서, RIGHT 함수는 오른쪽에서 추출하는 반면, MID 함수는 문자열 중간 어느 위치에서든 원하는 부분을 가져올 수 있습니다.

MID 함수는 LEFT·RIGHT와 달리 중간 부분을 자유롭게 지정할 수 있어 훨씬 유연하게 활용됩니다.

MIDB 함수와의 차이 (한글 사용 시 주의)

MIDB 함수는 한글·일본어·중국어처럼 한 글자가 2바이트인 문자를 포함할 때 글자 수 대신 바이트 단위로 계산합니다. `=MIDB(“서울/홍익문고”, 6, 4)`를 입력하면 바이트 단위로 계산되어 ‘홍익’이 반환됩니다. 영문 알파벳은 1바이트이므로 MID와 MIDB의 결과가 동일합니다.

한글이 포함된 데이터를 다룰 때는 MID와 MIDB 중 어느 함수를 사용하느냐에 따라 결과가 달라질 수 있으므로 주의가 필요합니다.

함께 읽어보면 좋은 글