엑셀 데이터에는 제품 코드, 주민등록번호, 전화번호, 문서명 등 정해진 형식 안에 필요한 정보가 숨겨져 있는 경우가 많습니다. 예를 들어, `ABC-202505-001` 이라는 코드에서 날짜 정보인 `202505`만 따로 뽑아내야 할 때가 있죠. 🧐
이때 사용하는 것이 바로 MID(Middle) 함수입니다. 문자열의 왼쪽에서 시작 문자를 세어 원하는 위치부터 원하는 개수만큼 문자를 추출하는 이 함수는, 데이터 클리닝과 가공에 필수적인 역할을 합니다. 오늘은 MID 함수의 정확한 문법과 실전 활용법, 그리고 주의사항까지 자세히 알아보겠습니다!

MID 함수 기본 문법과 인수 설명 📝
MID 함수는 총 세 가지의 필수 인수를 가집니다. 추출할 텍스트, 시작할 위치, 추출할 개수만 지정해 주면 됩니다.
📝 MID 함수 문법
=MID(text, start_num, num_chars)
각 인수의 의미는 다음과 같습니다:
- `text` (필수): 문자열을 추출할 원본 텍스트나 텍스트가 들어있는 셀 주소입니다.
- `start_num` (필수): 추출을 시작할 위치를 숫자로 지정합니다. 문자열의 첫 번째 문자는 1입니다.
- `num_chars` (필수): `start_num`에서부터 추출할 문자의 개수를 숫자로 지정합니다.
LEFT 함수는 무조건 왼쪽(1번째)부터, RIGHT 함수는 무조건 오른쪽(끝)부터 시작하지만, MID 함수는 `start_num`을 지정하여 추출 위치를 자유롭게 설정할 수 있다는 것이 가장 큰 장점입니다.

실전 예시: MID 함수 사용법 📊
원본 텍스트가 A1 셀에 "제품코드_202405_서울지점"이라고 입력되어 있다고 가정하고 예시를 살펴보겠습니다.
1. 날짜 코드 (202405) 추출
날짜 코드는 텍스트의 7번째 문자(`2`)부터 시작하며, 총 6글자입니다.
수식: =MID(A1, 7, 6)
결과: 202405


2. 지점 정보 (서울지점) 추출
지점 정보는 텍스트의 14번째 문자(`서`)부터 시작하며, 총 4글자입니다.
수식: =MID(A1, 14, 4)
결과: 서울지점
주의하세요! MID 함수 사용 시의 함정 ⚠️


MID 함수는 강력하지만, 인수를 잘못 지정하면 오류가 나거나 예상치 못한 결과가 나올 수 있습니다.
만약 추출 시작 위치(`start_num`)가 원본 텍스트의 총 문자 길이보다 크다면, 결과는 빈 문자열 (`""`)이 됩니다. (오류가 발생하지는 않습니다.)
추출할 문자 개수(`num_chars`)를 남은 문자열 길이보다 훨씬 크게 지정해도 괜찮습니다. MID 함수는 텍스트의 끝까지 추출하고 멈춥니다. 예를 들어, 남은 문자가 3개인데 100개를 추출하라고 하면 3개만 추출하고 종료합니다.
MID 함수는 숫자처럼 보이는 문자열(예: "202405")을 추출하더라도 그 결과는 텍스트입니다. 추출한 결과를 가지고 사칙연산이나 통계 함수를 사용하려면, VALUE 함수를 사용해서 숫자로 변환해 주어야 합니다.
예시: =VALUE(MID(A1, 7, 6))

심화 활용: FIND/SEARCH 함수와 결합 💡
MID 함수는 `start_num`을 직접 입력해야 하기 때문에, 문자열 길이가 매번 바뀌는 데이터에는 적용하기 어렵습니다. 이럴 때는 FIND 또는 SEARCH 함수를 사용하여 `start_num`을 동적으로 찾아낼 수 있습니다.
특정 구분자 사이의 텍스트 추출 (가장 많이 사용)
원본 텍스트가 A1 셀에 "이름:홍길동|지역:서울|코드:K102"라고 있고, "지역" 정보만 추출하고 싶다고 가정합니다.
목표: `지역:` 다음부터 `|`가 나오기 전까지의 텍스트를 추출
수식 조합 (복잡함):
=MID(
    A1, 
    FIND("지역:", A1) + 3, 
    FIND("|", A1, FIND("지역:", A1)) - (FIND("지역:", A1) + 3)
)
해석:
- `FIND("지역:", A1) + 3`: "지역:"이 시작하는 위치를 찾고, 3글자(`지역:`) 다음인 추출 시작 위치를 계산합니다.
- `FIND("|", A1, ...)`: 다음 구분자(`|`)의 위치를 찾아, 그 위치에서 시작 위치를 빼서 추출할 문자 개수를 계산합니다.
결과: 서울
마무리: 핵심 내용 요약 📝
MID 함수는 엑셀에서 문자열 가공의 중심이 되는 함수입니다. 단순히 중간 문자를 추출하는 것을 넘어, FIND/SEARCH 함수와 결합하면 어떤 형식의 데이터에서든 원하는 정보를 추출할 수 있는 만능 도구가 됩니다.
이제 복잡한 텍스트 데이터에 당황하지 마시고, MID 함수를 활용하여 데이터 클리닝과 분석을 효율적으로 진행해 보세요! 궁금한 점이 있다면 언제든지 질문해 주세요. 😊
엑셀 MID 함수 사용 시 꼭 기억해야 할 3가지!
- 문법: `=MID(텍스트, 시작_위치, 개수)`로 원하는 부분만 추출합니다.
- 시작: 문자열의 첫 글자가 1이며, 띄어쓰기(공백)도 한 글자로 셉니다.
- 활용: 고정된 위치 추출은 MID 단독으로, 유동적인 위치 추출은 FIND/SEARCH 함수와 결합하여 사용합니다.
자주 묻는 질문 (FAQ) ❓
Q1. MID 함수와 LEFT/RIGHT 함수의 차이는 무엇인가요?
👉 LEFT는 무조건 왼쪽(1번째)부터, RIGHT는 무조건 오른쪽(마지막)부터 추출하지만, MID는 추출 시작 위치(`start_num`)를 지정하여 중간의 특정 위치부터 추출할 수 있습니다.
Q2. 띄어쓰기(공백)도 문자로 세나요?
👉 네, 엑셀의 모든 텍스트 함수는 공백을 하나의 문자로 취급하여 계산합니다. 공백을 포함하여 `start_num`을 정확하게 세어야 합니다.
Q3. MID 함수로 추출한 숫자를 계산에 사용하려면 어떻게 해야 하나요?
👉 MID 함수 결과는 항상 텍스트 형식이므로, 이를 숫자 데이터로 변환해야 합니다. 추출된 MID 함수 전체를 VALUE 함수로 감싸주거나, 추출된 결과에 `1` 또는 `+0`을 더해 강제로 숫자 형식으로 변환할 수 있습니다.