특정 문자 사이 값 추출 공식
특정 문자 사이 값 추출 목차 바로가기
함수 공식
=MID(셀, FIND("문자1", 셀)+LEN("문자1"),FIND("문자2", 셀)-FIND("문자1", 셀)-LEN("문자1"))
인수 설명
| 인수 | 설명 |
| 셀 | 특정 문자를 추출할 값이 입력된 셀 또는 문자열을 입력합니다. 셀을 참조하지 않고 문자열을 그대로 입력할 경우 큰따옴표(") 안에 묶어서 입력합니다. |
| 문자1 | 추출할 값 앞에 위치한 문자입니다. 셀 안에 동일한 문자가 여러개 있을 경우 가장 첫번째 위치한 문자를 인식합니다.
예 : "서울시 구로구 어린이집 구로지점" (구로를 검색할 경우) |
| 문자2 | 추출할 값 뒤에 위치한 문자입니다. 문자1과 다른 문자여야 합니다. 만약 동일한 문자 사이에 있는 값을 추출할 경우, 자주묻는질문에 적어드린 '같은 문자 사이에 있는 값을 추출하는 공식'을 사용합니다.
예: "서울시 구로구 어린이집 구로지점 (O)" ("구로구"와 "구로지점" 사이의 문자를 추출하는 건 가능) |
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [엑셀공식] 특정 문자 사이 값 추출 공식예제파일
호환성
운영체제 호환성 Windows 버전 모든 엑셀 버전에서 사용 가능합니다. Mac 버전 모든 엑셀 버전에서 사용 가능합니다. 사용된 기초 함수
특정 문자 사이 값 추출 공식 알아보기
공식 설명
본 공식은 셀 안에 입력된 텍스트 글자 수 상관없이 두 특정문자 (또는 같은 두 문자) 사이의 값을 추출하는 공식입니다. 같은 두 문자 사이의 값을 추출하려면 아래 자주묻는 질문에 적어드린 공식을 사용합니다.
공식에 사용된 MID 함수 대신 RIGHT 함수를 사용하면 글자수에 상관 없이 특정문자 뒤에 있는 값을 추출할 수도 있습니다. 특정문자 뒤에 있는 값을 추출하는 공식에 대한 자세한 설명은 아래 관련공식 포스트를 참고하세요.
공식의 동작원리
- FIND 함수를 사용하면 셀 안에서 특정문자가 시작되는 위치를 반환합니다.
셀 : "서울시 강남구 오빠두 센터"
=FIND("강남구 ",셀)
=5 ' 강남구는 셀 안의 문자열에서 5번째 위치에서 시작합니다. - MID 함수는 문자열의 n번째 위치부터 k자리수의 문자를 반환합니다.
셀: "서울시 강남구 오빠두 센터"
=MID(셀, 9, 3)
="오빠두" '셀의 9번째 자리부터 3글자를 반환합니다. - MID 함수와 FIND 함수를 활용하면 글자수 상관없이 두 문자 사이의 있는 특정문자를 추출할 수 있습니다.
셀: "서울시 강남구 오빠두 센터"
=MID(셀, FIND("강남구 ", 셀)+LEN("강남구 "),FIND(" 센터", 셀)-FIND("강남구 ", 셀)-LEN("강남구 "))
=MID(셀, 5+4, 12-5-4)
=MID(셀, 9, 3)
="오빠두"
자주묻는질문
자주묻는질문1. 같은 문자 사이의 값을 추출하는 방법
문자열에서 같은 두 문자 사이의 값을 추출하려면 아래 공식을 사용합니다. 단, 아래 공식은 문자열에서 첫번째와 두번째 문자의 사이값을 반환합니다.
=MID(셀, FIND("문자",셀)+LEN("문자"), FIND("문자", 셀, FIND("문자",셀)+LEN("문자")+1)-FIND("문자",셀)-LEN("문자"))
예: "서울시 구로 센터 구로 어린이집 구로 지점"
'첫번째와 두번째 구로 사이에 위치한 '센터'를 반환합니다. - FIND 함수를 사용하면 셀 안에서 특정문자가 시작되는 위치를 반환합니다.

= MID ( 셀, FIND("특정문자1", 셀) + [@1] , FIND("특정문자2", 셀) - FIND("특정문자1", 셀) - [@2])
여기에서 @2가 아니라 @1아닌가용??
엑셀기초 강의 12강에서는 @1로 나와있는데 헷갈리네용 ?ㅠ
오늘 안으로 포스트 내용 깔끔하게 수정하도록 하겠습니다.
잘못된 부분 짚어주셔서 대단히 감사드립니다.
같은 두 문자 사이에 글자를 추출할 때, 예를 들면 https://naver.com/id/2222 같은 형식에서 id를 추출하고 싶은데요. 알려주신 수식으로는 naver.com이라는 글자가 추출됩니다.
두번째 "/"와 세번째 "/" 사이 글자를 추출할 수 있는 방법이 있을까요?
FIND("문자", 셀, FIND("문자", 셀, FIND("문자",셀)+LEN("문자")+1)+LEN("문자")+1)
은 3번째로 있는 문자의 위치를 반환합니다.위 수식을 자주묻는질문1 에 적어드린 공식에 응용하셔서, 2번째-3번째 문자 사이에 있는 값을 추출해보시길 바랍니다.
형식으로 붙여넣기 하신 뒤 사용해보시겠어요?^^
SMALL 함수를 사용해보시겠어요?
=SMALL(범위,{1;2;3})
을 Ctrl + Shift + Enter 로 입력하신 뒤 아래로 자동채우기해보세요.=MID(셀, 5+4+1, 13-5-4-1)
=MID(셀, 9, 3)
="오빠두"
실제로는 "빠두 "가 나오게 되는데, 왜 이럴까요?
공식을 잘못 적어드렸습니다.
아래 공식이 맞는 공식입니다. 다시 확인해보시겠어요? :)
=MID(셀, FIND("문자1", 셀)+LEN("문자1"),FIND("문자2", 셀)-FIND("문자1", 셀)-LEN("문자1"))
감사합니다.셀 : 서울시 동작구 오빠두 센터; 서울시 강남구 누나두 센터;
이럴때,
MID(셀,FIND("강남구 ",셀)+LEN("강남구 "),FIND(" 센터",셀)-FIND("강남구 ",셀)-LEN("강남구 "))
라는 식을 사용하여, "누나두" 라는 값을 얻고 싶은데요.
" 센터" 라는 문구가 셀에 두번 포함돼 있어서인지, 값을 찾지 못 합니다.
" 센터" 문구가 중복되는 상태에서 강남구 ~ 센터 사이 문구만 가져오고 싶은데
방법이 없을까요?
Find 함수의 3번째 인수로 시작위치를 지정할 수 있습니다.
기존의 FIND 함수를 FIND("찾을값",셀,FIND(";",셀)) 로 수정해서 ; 뒤에서부터 센터를 검색하도록 공식을 수식을 수정해보세요.^^