목차▾
엑셀 MID 함수란?
엑셀 MID 함수는 텍스트의 임의 시작 위치부터 N글자를 추출하는 텍스트 함수입니다. LEFT(왼쪽), RIGHT(오른쪽)와 짝꿍이지만 가장 유연 — 주민번호 성별 코드(8번째), 사업자번호 가운데(5~6번째), 이메일 도메인 등 중간 추출의 표준. FIND와 조합하면 두 구분자 사이도 가변 추출 가능.
구문은 =MID(텍스트, 시작위치, 글자수) 3 인수. 시작은 1부터 (0 또는 음수는 #VALUE!). 결과는 항상 텍스트라 숫자 계산엔 VALUE 변환 필요.
동작 예시 + LEFT/RIGHT/MID 삼총사
| 수식 | 결과 | 비고 |
|---|---|---|
| MID("ABCDEF", 3, 2) | "CD" | 3번 위치부터 2글자 |
| MID("ABCDEF", 1, 3) | "ABC" | LEFT 3과 같음 |
| MID("ABCDEF", 4, 3) | "DEF" | RIGHT 3과 같음 |
| MID("ABCDEF", 3, 10) | "CDEF" | 길이 초과면 끝까지 |
| MID("ABCDEF", 10, 2) | "" | start가 길이 초과 |
| MID("ABCDEF", 3, 0) | "" | 빈 문자열 |
| MID("ABCDEF", 0, 2) | #VALUE! | start가 0 또는 음수 |
| MID("ABCDEF", 3, -1) | #VALUE! | num_chars 음수 |
LEFT vs RIGHT vs MID — 텍스트 추출 삼총사
| 함수 | 동작 | 예 |
|---|---|---|
| LEFT(t, n) | 왼쪽 n글자 | LEFT("ABCDEF", 3) = "ABC" |
| RIGHT(t, n) | 오른쪽 n글자 | RIGHT("ABCDEF", 3) = "DEF" |
| MID(t, s, n) | s부터 n글자 (중간 임의) | MID("ABCDEF", 3, 2) = "CD" |
| MIDB(t, s, b) | 바이트 단위 | MIDB("한글", 1, 2) = "한" |
→ LEFT/RIGHT는 끝 기준, MID는 임의 위치 기준 — MID가 가장 유연.
MID + FIND = 구분자 사이 추출
이메일 도메인: =MID(A1, FIND("@", A1) + 1, 999)
→ "abc@gmail.com" → "gmail.com"
URL 호스트: =MID(A1, FIND("//", A1) + 2, LEN(A1))
→ "https://example.com" → "example.com"
두 구분자 사이: =MID(A1, FIND("(", A1)+1, FIND(")", A1)-FIND("(", A1)-1)
→ "이름(닉네임)소개" → "닉네임"
핵심:
- 시작:
FIND(구분자, text) + 1 - 길이:
FIND(다른 구분자, text) - 시작 위치 - 1 - 끝까지:
999같은 큰 숫자 (초과해도 안전)
실전 사용 시나리오 8가지
- 주민번호 생년월일 —
=MID(A1, 1, 6)→ "990123-1234567" → "990123" - 주민번호 성별 코드 —
=MID(A1, 8, 1)→ 8번째 1글자 (1·3 남, 2·4 여) - 사업자번호 가운데 —
=MID(A1, 5, 2)→ "123-45-67890" → "45" - 이메일 도메인 —
=MID(A1, FIND("@", A1)+1, 999) - 두 구분자 사이 추출 —
=MID(A1, FIND("(",A1)+1, FIND(")",A1)-FIND("(",A1)-1) - URL 호스트 —
=MID(A1, FIND("//", A1)+2, LEN(A1)) - 가운데 N글자 (LEFT+RIGHT로 불가) —
=MID(A1, 4, 3) - 글자별 분리 (배열) —
=MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1)
MID로 LEFT/RIGHT 대체 + 한글
LEFT(A1, 3) = MID(A1, 1, 3) → 같음
RIGHT(A1, 3) = MID(A1, LEN(A1)-2, 3) → 같음 (길어짐)
→ 단순 추출은 LEFT/RIGHT가 짧고 명확. MID는 중간 추출 전용.
한글 처리 — MID vs MIDB
MID("한글텍스트", 2, 2) = "글텍" (글자 기준, LEN)
MIDB("한글텍스트", 3, 2) = "글" (바이트 기준, 한글 2바이트)
자주 발생하는 함정 6가지
- start_num 1부터 (0/음수 → #VALUE!) — 첫 글자는 1. 0이나 음수는
#VALUE!(값 유형 오류) - num_chars 음수 → #VALUE! — 0 이상만
- start가 길이 초과 → "" —
MID("ABC", 10, 2)= "" (오류 아님) - 결과는 항상 텍스트 —
MID(12345, 2, 2)= "23" (텍스트). 숫자 계산엔 VALUE - 한글도 1글자 — LEN 기준. 바이트는 MIDB
- FIND 못 찾으면 #VALUE! 전파 —
MID(A1, FIND("@", A1)+1, 999)→ @ 없으면 #VALUE!. IFERROR 처리
자주 묻는 질문
Q. MID 함수 사용법은?
=MID(텍스트, 시작위치, 글자수) 형식. 텍스트의 시작 위치부터 N글자 추출. 예: =MID("ABCDEF", 3, 2) → "CD". 시작은 1부터.
Q. LEFT/RIGHT와 차이는?
LEFT는 왼쪽, RIGHT는 오른쪽, MID는 임의 위치. MID는 LEFT/RIGHT로 못 하는 가운데 추출에 특화. 단순 끝 추출은 LEFT/RIGHT가 짧음.
Q. 주민번호에서 성별 코드 어떻게?
=MID(A1, 8, 1). 8번째 위치(- 뒤 첫 글자)부터 1글자. "990123-1234567" → "1" (남성). 1·3은 남, 2·4는 여.
Q. 두 구분자 사이 추출은?
=MID(A1, FIND("(", A1) + 1, FIND(")", A1) - FIND("(", A1) - 1). ( 다음 위치부터, ) 위치 - ( 위치 - 1 글자. "이름(닉네임)" → "닉네임".
Q. start_num이 길이 초과면?
빈 문자열 "" 반환 (오류 아님). MID("ABC", 10, 2) = "". start_num은 1부터 시작, 0이나 음수는 #VALUE! 오류.
Q. 한글도 1글자로 카운트?
네, LEN 기준. MID("한글텍스트", 2, 2) = "글텍". 바이트 단위(한글=2바이트) 필요시 MIDB 사용.
Q. 끝까지 가져오려면 num_chars에 뭐 넣나요?
큰 숫자 (999, 9999 등). MID는 길이 초과 시 끝까지만 반환하므로 안전. 정확하게는 LEN(A1) - 시작 + 1.
Q. 구글 스프레드시트에서도 동일하게 작동하나요?
네. MID는 표준 텍스트 함수로 Google Sheets, LibreOffice Calc, Apple Numbers, 한컴 한셀, WPS에서 동일하게 작동합니다.
본 페이지는 Microsoft Support 공식 MID·MIDB·LEFT·RIGHT·FIND 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.