실무에서 가장 많이 사용되는 문자열 처리 조합인 MID+FIND 함수를 마스터해보세요! 복잡한 데이터에서 원하는 부분만 정확히 뽑아내는 핵심 노하우를 알려드릴게요. 이 두 함수의 조합은 데이터 분석과 정리에서 정말 필수적인 기술이에요.
📌 [고정핀] MID+FIND 조합은 문자열에서 특정 문자를 기준으로 원하는 부분을 추출하는 최강의 문자열 처리 기법입니다.
🎯 MID 함수 기본 개념
MID 함수는 문자열의 지정된 위치부터 특정 개수의 문자를 추출하는 함수에요. 텍스트 처리에서 핵심적인 역할을 하죠.
구문
=MID(텍스트, 시작위치, 문자개수)
매개변수(인수)
- 텍스트: 문자를 추출할 원본 문자열
- 시작위치: 추출을 시작할 위치 (숫자)
- 문자개수: 추출할 문자의 개수
📌 NOTE: 시작위치는 1부터 시작하며, 문자개수가 남은 문자보다 크면 끝까지의 모든 문자를 반환합니다.
🔍 FIND 함수 기본 개념
FIND 함수는 문자열에서 특정 문자나 문자열이 처음으로 나타나는 위치를 찾아주는 함수에요. 대소문자를 구분하는 것이 특징이죠.
구문
=FIND(찾을_문자, 텍스트, [시작위치])
매개변수(인수)
- 찾을_문자: 찾고자 하는 문자 또는 문자열
- 텍스트: 검색할 원본 문자열
- 시작위치: (선택사항) 검색을 시작할 위치
📌 NOTE: 찾는 문자가 없으면 #VALUE! 오류가 발생합니다. 대소문자를 구분하지 않으려면 SEARCH 함수를 사용하세요.
💡 MID+FIND 조합의 강력함
엑셀 MID 와 FIND 를 조합하면 동적으로 문자열을 추출할 수 있어요. 특정 문자의 위치를 찾아서 그 위치를 기준으로 문자를 추출하는 거죠.
기본 조합 패턴
=MID(텍스트, FIND("기준문자", 텍스트)+1, 문자개수)
문자개수 부분을 발전시켜 보다 다양한 기능을 할 수 있어요.
🎯 MID+FIND 조합 원리
MID 함수는 시작 위치와 추출할 문자 개수가 필요해요:
=MID(문자열, 시작위치, 문자개수)
구분자 사이 텍스트를 추출하려면:
- 첫 번째 구분자 위치 + 1 = 시작 위치
- 두 번째 구분자 위치 - 첫 번째 구분자 위치 - 1 = 문자 개수
📝 기본 공식
=MID(문자열, FIND(첫번째구분자, 문자열) + 1, FIND(두번째구분자, 문자열) - FIND(첫번째구분자, 문자열) - 1)
💡 실전 예제
예제 1: 이메일에서 도메인명만 추출 (naver, gmail 등)
데이터: "minsu@naver.com"
@ 와 . 사이의 "naver" 추출:
=MID(E2, FIND("@", E2) + 1, FIND(".", E2) - FIND("@", E2) - 1)
ㄱ. =MID(이메일, 도메인시작위치,도메인 글자수)
ㄴ. =MID(이메일, 구분자1(@)위치+1, 구분자2(.)위치-구분자1(@)위치 - 1) // 이것이 MID + FIND 함수조합의 기본
ㄷ. 구분자2(.)위치-구분자1(@)위치 - 1 = 도메인 글자수
예제 2: 전화번호에서 중간 번호 추출
데이터: "010-1234-5678"
첫 번째와 두 번째 하이픈 사이의 "1234" 추출:
=MID(D2, FIND("-", D2) + 1, FIND("-", D2, FIND("-", D2) + 1) - FIND("-", D2) - 1)
ㄱ. =MID(전화번호, 1번째하이픈위치+1, 2번째하이픈-1번째하이픈-1)
ㄴ. 1번째 하이픈 위치 = 4 | 2번째 하이픈 위치 = 9
ㄷ. 9 - 4 - 1= 4 (중간번호 개수)
예제 3: 파일 경로에서 폴더명 추출
데이터: "C:\Users\Documents\파일.xlsx"
두 번째와 세 번째 백슬래시 사이의 "Documents" 추출:
=MID(B17, FIND("\", B17, FIND("\", B17) + 1) + 1,
FIND("\", B17, FIND("\", B17, FIND("\", B17) + 1) + 1)
- FIND("\", B17, FIND("\", B17) + 1) - 1)
ㄱ. =MID(2번째백슬래시위치+1, 3번째백슬래시위치-2번째백슬래시위치-1)
ㄴ. 2번째 백슬래시위치 = 9 | 3번째 백슬래시위치 = 19
ㄷ. 19 - 9 - 1 = 9 ( 2번째 백슬래시와 3번째 백슬래시 사이 문자 9개 )
예제 4: 더 간단한 방법 - 동일한 구분자 여러 개
데이터: "apple-banana-cherry-date"
두 번째와 세 번째 하이픈 사이의 "cherry" 추출:
=TRIM(MID(SUBSTITUTE(B20, "-", REPT(" ", 100)), 200, 100))
ㄱ. REPT( " ", 100 ) : 공백한문자 " " 를 100 개 반복.
ㄴ. SUBSTITUTE( B20, "-", .... ) : B20 문자열에서 하이픈(-) 을 찾아 " " 100개로 변환.
ㄷ. MID( ... , 200, 100 ) : 200 번째문자(하이픈 2개 이후)를 시작으로 100개의 문자 추출.
ㄹ. ㄷ의 결과는 "... cherry ..." : 공백을 앞뒤로 포함한 2번째 하이픈 뒤의 문자열 추출.
ㅁ. TRIM(...) : TRIM 함수로 앞뒤의 공백 제거 "cherry" 텍스트가 최종결과.
🎯 실무 팁과 노하우
꿀팁 1: 복잡한 문자열 처리시 IFERROR 함수와 조합하여 오류를 방지하세요.
=IFERROR(MID(A1, FIND("@", A1) + 1, FIND(".", A1) - FIND("@", A1) - 1), "구간 없음")
꿀팁 2: 여러 구분자가 있을 때는 FIND 함수를 중첩하여 사용하세요.
=MID(A1,FIND("-",A1,FIND("-",A1)+1)+1,5)
꿀팁 3: 문자열 길이가 가변적일 때는 LEN 함수를 활용하세요.
=MID(A1,FIND("@",A1)+1,LEN(A1)-FIND("@",A1))
꿀팁 4: 동일 구분자가 여러개 있는 문자열에서 n번째 구분자 사이 텍스트를 추출하세요. (동적)
=TRIM(MID(SUBSTITUTE(A1, "-", REPT(" ", 100)), (B1-1)*100+1, 100))
B1에 추출하고 싶은 순서 입력 (2면 두 번째 구간)
꿀팁 5: 전체 URL에서 도메인명만 추출하세요. A1 데이터: "https://www.naver.com/search"
=MID(A1, FIND("//", A1) + 2, FIND("/", A1, FIND("//", A1) + 2) - FIND("//", A1) - 2)
MID+FIND 조합은 복잡해 보이지만, 데이터 분석과 정제에서 정말 강력한 도구예요! 특히 로그 파일 분석이나 URL 처리, 코드 파싱 등에서 없어서는 안 될 기능이죠! 💪
실제로 써보시면 생각보다 논리적이고 유용하다는 걸 느끼실 거예요! 😊
📊 세 가지 조합 비교표
함수 조합 | 추출 위치 | 사용 케이스 | 복잡도 |
---|---|---|---|
LEFT+FIND | 구분자 앞 | 사용자명, 지역코드 | ⭐ |
RIGHT+FIND | 구분자 뒤 | 도메인, 확장자 | ⭐⭐ |
MID+FIND | 구분자 사이 | 중간값, 특정구간 | ⭐⭐⭐ |
🔗 관련 함수들
MID+FIND 조합과 함께 사용하면 더욱 강력한 관련 함수들을 소개해드릴게요:
- LEFT 함수: 왼쪽에서부터 문자 추출
- RIGHT 함수: 오른쪽에서부터 문자 추출
- SEARCH 함수: 대소문자 구분 없이 문자 위치 찾기
- LEN 함수: 문자열 길이 구하기
- SUBSTITUTE 함수: 문자 치환하기
- TRIM 함수: 공백 제거하기
- TEXTBEFORE 함수: 구분자 앞부분 문자열 추출, LEFT+FIND 조합이 대체
- TEXTAFTER 함수: 구분자 뒷부분 문자열 추출, RIGHT+FIND 조합이 대체
📝 마무리
MID+FIND 조합은 엑셀 문자열 처리의 핵심 기술이에요! 실무에서 정말 자주 사용되는 강력한 조합이니까 꼭 마스터해보세요. 데이터 정리와 분석에서 여러분의 업무 효율을 크게 향상시킬 거예요.
이 기법을 활용하면 복잡한 데이터에서도 원하는 정보를 쉽게 추출할 수 있답니다. 연습을 통해 더욱 능숙해지시고, 실무에서 바로 적용해보세요! 💪
도움이 되셨다면 공감❤️과 공유📤 부탁드려요! 더 많은 엑셀 팁이 궁금하시다면 다른 게시물도 확인해보세요.
작성자: 마늘빵
📱 모바일 학습용 - MID+FIND 조합 빠른 정리
🔥 핵심 요약
📋 기본 패턴
=MID(텍스트, FIND("기준문자", 텍스트)+1, 개수)
⚡ 자주 쓰는 예제
- 이메일 아이디:
=MID(A1,1,FIND("@",A1)-1)
- 도메인 추출:
=MID(A1,FIND("@",A1)+1,FIND(".",A1)-FIND("@",A1)-1)
- 전화번호 앞번호 분리:
=MID(A1,1,FIND("-",A1)-1)
⚠️ 주의사항
🎯 실무 팁
- 복잡한 패턴은 단계별로 나누어 작성
- 빈 셀 처리 꼭 확인
- LEN 함수와 조합하면 더 강력