오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
텍스트
MID 함수
함수 요약

엑셀 MID 함수는 문자열의 특정 위치부터 지정한 문자 수만큼 글자를 추출하는 함수입니다.

함수 구문
=MID(문자열, 시작위치, 추출할문자수)
문자열
-
텍스트를 추출할 문자열입니다.
시작위치
-
추출을 시작할 문자의 위치입니다.
  • 시작위치가 문자열 길이를 초과할 경우, 빈 텍스트를 반환합니다.
추출할문자수
-
시작위치부터 추출할 문자 개수입니다.
  • 추출할 문자수가 전체 문자열 길이를 넘으면, 시작 위치부터 끝까지 반환합니다.
상세 설명

엑셀 MID 함수는 문자열의 특정 위치부터 지정한 문자 수만큼 글자를 추출하는 함수입니다. 주민등록번호에서 생년월일만 추출하거나, 제품코드에서 특정 부분을 추출하는 등 실무에서 자주 사용되는 텍스트 함수입니다.

=MID("800501-1234567",8,1)
/ / 성별을 나타내는 숫자인 '1'을 추출합니다.

MID 함수는 FIND 함수 또는 SEARCH 함수와 함께 사용하여, 특정 문자의 위치를 찾아 그 지점부터 문자를 자유롭게 추출하는 공식에 사용할 수 있습니다.

=MID(제품코드,FIND("-",제품코드),3)
/ / 제품코드에서 "-"를 찾아 "-" 이후 문자를 추출합니다.

MID 함수는 LEFT 함수RIGHT 함수와 달리 문자열의 중간 부분을 자유롭게 추출할 수 있어 유연하게 사용할 수 있습니다.


MID 함수 간단 예제
1) 주민등록번호에서 생년월일 추출하기
=MID("901231-1234567", 1, 6)
/ / 결과: "901231"
2) 제품코드에서 특정 항목 추출하기

만약 제품코드가 "대분류-카테고리-번호"로 구성된 경우, 다음과 같이 MID 함수를 작성하면 제품코드에서 카테고리 정보를 추출할 수 있습니다.

=MID("PRD-A123-456", 5, 4)
/ / 결과: "A123"
3) 이메일 주소에서 도메인 추출하기

MID 함수와 FIND 함수를 함께 활용하면, 길이에 상관없이 원하는 위치에서 자유롭게 문자를 추출하는 공식을 작성할 수 있습니다.

/ / 이메일주소 : user@oppadu.com
=MID(이메일, FIND("@", 이메일) + 1, LEN(이메일))
/ / 결과: "oppadu.com"

그 외 주의사항

시작 위치가 문자열 길이를 초과할 경우, MID 함수는 빈 텍스트("")를 반환합니다.

시작위치는 1보다 커야합니다. 만약 1보다 작을경우 MID 함수는 #VALUE! 오류를 반환합니다.

추출할 문자 수는 반드시 1보다 커야합니다. 추출할 문자 수가 1보다 작으면 #VALUE! 오류가 반환됩니다.

바이트 단위로 문자 길이를 세야 할 경우에는 MIDB 함수를 사용하는 것이 더 적절할 수 있습니다.


댓글 5
5 (3개 평가)
강민준🤗
강민준🤗 2024.08.11 07:36
좋은 강의 감사합니다🙇‍♂️
지이희
지이희 2024.12.01 16:52
선생님 value 함수식사용하거나 *1 사용할때가 헷갈려서 질문드립니다. 문제에서 MID, RIGHT, LEFT함수가 나오고 예를들어 5이상, 2이하과 같이 데이터와 비교할때에는 무조건 *1를 써주거나 VALUE함수를 같이 써줘야하나요? 이 이외에 문제에서는 아예 사용 안 하는지 궁금합니다.
오빠두엑셀
오빠두엑셀 작성자 2024.12.03 03:59
MID 함수는 결과로 텍스트를 반환합니다. 따라서 MID 함수의 결과와 숫자를 비교해야 할 경우에는, MID 함수를 VALUE 함수로 묶어주거나, 뒤에 1을 곱해서 숫자로 변환 후 비교해야 합니다. :) 감사합니다.
지이희
지이희 2024.12.04 15:29
감사합니다. 헷갈렸는데 문제들 다시 보고 선생님 답변도 읽으니 확실히 확립 되었습니다.
일잘러된다
일잘러된다 2025.05.19 09:09
조금 어렵지만 감사합니다.