특정 문자 사이 문자열 추출
지원 버전 자세히 보기
두 구분 문자 사이의 문자열을 추출하는 공식입니다.
인수 설명
01서로 다른 문자 사이
=MID ( 셀, FIND ( 문자1, 셀 )+LEN ( 문자1 ), FIND ( 문자2, 셀 )-FIND ( 문자1, 셀 )-LEN ( 문자1 ) )인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
동작 원리
FIND 함수와 LEN 함수가 추출 시작 위치와 글자 수를 계산하고 MID 함수가 그 구간의 문자열을 반환합니다.
서로 다른 문자 사이 공식의 예제 시트에서 D2 셀이 노트북을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
추출 시작 위치를 계산합니다
A2 셀에서 여는 괄호는 세 번째 글자이고 길이는 1입니다. 두 값을 더해 여는 괄호 다음인 네 번째 글자를 추출 시작 위치로 정합니다.
=FIND ( B2, A2 )+LEN ( B2 )
= 4
노트북의 첫 글자인 노의 위치입니다. 추출할 글자 수를 계산합니다
닫는 괄호의 위치 7에서 여는 괄호의 위치 3과 길이 1을 빼면 두 문자 사이의 글자 수 3을 반환합니다.
=FIND ( C2, A2 )-FIND ( B2, A2 )-LEN ( B2 )
= 3
두 문자 사이에 있는 노트북의 글자 수입니다. MID 함수가 문자열을 추출합니다
MID 함수가 A2 셀의 네 번째 글자부터 세 글자를 가져와 노트북을 반환합니다.
=MID ( A2, 4, 3 )
= "노트북"
두 문자 사이에서 추출한 문자열입니다. 02같은 문자의 첫째·둘째 사이
=MID ( 셀, FIND ( 문자, 셀 )+LEN ( 문자 ), FIND ( 문자, 셀, FIND ( 문자, 셀 )+LEN ( 문자 )+1 )-FIND ( 문자, 셀 )-LEN ( 문자 ) )인수 설명 자세히 보기
동작 원리
첫 번째 FIND 함수의 다음 위치부터 다시 검색해 두 번째 문자를 찾고 MID 함수가 두 위치 사이의 문자열을 반환합니다.
같은 문자 사이 공식의 예제 시트에서 E5 셀이 엑셀을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
첫 번째 문자의 위치를 찾습니다
A5 셀에서 첫 번째 #은 세 번째 글자에 있습니다. 추출은 그다음인 네 번째 글자부터 시작합니다.
=FIND ( B5, A5 )
= 3
첫 번째 #의 위치입니다. 두 번째 문자의 위치를 다시 찾습니다
첫 번째 # 뒤에서 검색을 시작하면 두 번째 #이 여섯 번째 글자에서 발견됩니다.
=FIND ( B5, A5, FIND ( B5, A5 )+LEN ( B5 )+1 )
= 6
두 번째 #의 위치입니다. MID 함수가 두 문자 사이를 추출합니다
첫 번째 # 다음인 네 번째 글자부터 두 번째 # 앞까지 두 글자를 가져와 엑셀을 반환합니다.
=MID ( A5, 4, 6-3-1 )
= "엑셀"
첫 번째와 두 번째 # 사이의 문자열입니다. 03M365·Excel 2024 이상 공식
=TEXTBEFORE ( TEXTAFTER ( 셀, 문자1 ), 문자2 )인수 설명 자세히 보기
동작 원리
TEXTAFTER 함수가 첫 번째 구분자 뒤의 문자열을 남기고 TEXTBEFORE 함수가 다음 구분자 앞의 문자열만 반환합니다.
M365·Excel 2024 이상 공식의 예제 시트에서 F5 셀이 엑셀을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
TEXTAFTER 함수가 첫 구분자 뒤를 남깁니다
A5 셀에서 첫 번째 # 앞부분인 태그#을 제외하고 그 뒤 문자열을 반환합니다.
=TEXTAFTER ( A5, B5 )
= "엑셀#공식"
첫 번째 # 뒤에 남은 문자열입니다. TEXTBEFORE 함수가 다음 구분자 앞을 남깁니다
남은 문자열에서 다음 # 앞부분만 가져와 두 구분자 사이의 엑셀을 반환합니다.
=TEXTBEFORE ( TEXTAFTER ( A5, B5 ), C5 )
= "엑셀"
두 # 사이에서 추출한 문자열입니다.
= 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(";",셀)) 로 수정해서 ; 뒤에서부터 센터를 검색하도록 공식을 수식을 수정해보세요.^^