엑셀 n번째 문자열 위치 찾기 공식
지원 버전 자세히 보기
문장에서 특정 문자열이 n번째로 나타나는 시작 위치를 반환하는 공식입니다.
인수 설명
01SUBSTITUTE + FIND 공식 (모든 버전)
=FIND ( "|", SUBSTITUTE ( 셀, 찾을문자, "|", n번째 ) )인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
02TEXTBEFORE 함수 공식 (엑셀 2024 이후)
=LEN ( TEXTBEFORE ( 셀, 찾을문자, n번째 ) ) + 1인수 설명 자세히 보기
동작 원리
01SUBSTITUTE + FIND 공식 (모든 버전)
SUBSTITUTE 함수가 n번째 찾을 문자열을 |로 바꾸고 FIND 함수가 |의 위치를 반환합니다.
모든 버전 호환 공식의 예제 시트에서 E2 셀이 6을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
SUBSTITUTE 함수가 n번째 문자열을 바꿉니다
SUBSTITUTE 함수가 A2 셀에서 두 번째로 나타난 사과만 |로 바꾸어 위치를 찾을 표시를 남깁니다.
=SUBSTITUTE ( A2, B2, "|", C2 )
= "사과나무 |열렸네"
두 번째 사과가 |로 바뀐 문자열입니다. FIND 함수가 표시의 위치를 찾습니다
바뀐 문자열에서 |는 여섯 번째 글자에 있으므로 FIND 함수가 두 번째 사과의 시작 위치 6을 반환합니다.
=FIND ( "|", SUBSTITUTE ( A2, B2, "|", C2 ) )
= 6
두 번째 사과가 시작하는 위치입니다. 02TEXTBEFORE 함수 공식 (엑셀 2024 이후)
TEXTBEFORE 함수가 n번째 찾을 문자열 앞부분을 반환하고 LEN 함수가 그 길이에 1을 더해 시작 위치를 계산합니다.
엑셀 2024 · M365 공식의 예제 시트에서 F2 셀이 6을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
TEXTBEFORE 함수가 앞부분을 반환합니다
TEXTBEFORE 함수가 A2 셀에서 두 번째 사과 앞에 있는 사과나무와 뒤 공백을 반환합니다.
=TEXTBEFORE ( A2, B2, C2 )
= "사과나무 "
두 번째 사과 앞의 다섯 글자이며 마지막 공백도 포함합니다. LEN 함수가 시작 위치를 계산합니다
LEN 함수가 앞부분의 다섯 글자를 세고 1을 더해 두 번째 사과의 시작 위치 6을 반환합니다.
=LEN ( TEXTBEFORE ( A2, B2, C2 ) )+1
= 6
두 번째 사과가 시작하는 위치입니다.
그런데 세로막대 "|" 는 어떻게 입력하나요..?
그동안 find함수로 순차적으로 찾아 해결했는데 한방에 해결할 수 있어 좋네요
감사합니다
예를 들면 한 셀에 이름:홍길동, 나이:33세, 휴대폰:010-1111-1111 라고 적혀있을 때 홍길동 또는 33세 등을 추출하는 방법이 있을까요?