5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
실무 위키응용 공식엑셀 n번째 문자열 위치 찾기 공식

엑셀 n번째 문자열 위치 찾기 공식

지원 버전 자세히 보기
엑셀 2013 이전엑셀 2016엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

문장에서 문자열이 n번째 나타나는 위치를 찾는 공식입니다.

엑셀 n번째 문자열 위치 찾기 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01모든 버전 호환 공식

=FIND ( "|", SUBSTITUTE ( , 찾을문자, "|", n번째 ) )
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
필수찾을 문자열이 포함된 문장이 입력된 셀입니다. 문장에 |가 포함되어 있으면 수식의 |를 문장에 없는 다른 문자로 바꿉니다.
찾을문자필수셀에서 위치를 찾을 문자 또는 문자열입니다.
n번째필수찾을 순번을 나타내는 양의 정수입니다. 문장에 포함된 횟수보다 크면 #VALUE! 오류를 반환합니다.
E2=FIND("|",SUBSTITUTE(A2,B2,"|",C2))
A
B
C
D
E
F
G
1
문장
찾을 문자열
순번
기존 공식 위치
TEXTBEFORE 위치
2
사과나무 사과열렸네
사과
2
6
6
3
서울-부산-대구
-
2
6
6
4
AB-AB-AB
AB
3
7
7
5
ID/2026/08
/
2
8
8
6
가나다라마바사가
2
8
8
7
red blue red
red
2
10
10
8
동동서동
3
4
4
9
SUBSTITUTE 함수가 A2 셀의 두 번째 사과를 |로 바꾸면 |는 여섯 번째 글자가 되고 FIND 함수가 위치 6을 반환합니다.

02M365·Excel 2024 이상 공식

=LEN ( TEXTBEFORE ( , 찾을문자, n번째 ) ) + 1
인수 설명 자세히 보기
인수구분설명
필수찾을 문자열이 포함된 문장이 입력된 셀입니다.
찾을문자필수셀에서 위치를 찾을 문자 또는 문자열입니다.
n번째필수찾을 순번을 나타내는 양의 정수입니다.
F2=LEN(TEXTBEFORE(A2,B2,C2))+1
A
B
C
D
E
F
G
1
문장
찾을 문자열
순번
기존 공식 위치
TEXTBEFORE 위치
2
사과나무 사과열렸네
사과
2
6
6
3
서울-부산-대구
-
2
6
6
4
AB-AB-AB
AB
3
7
7
5
ID/2026/08
/
2
8
8
6
가나다라마바사가
2
8
8
7
red blue red
red
2
10
10
8
동동서동
3
4
4
9
TEXTBEFORE 함수가 A2 셀의 두 번째 사과 앞에 있는 다섯 글자를 반환하고 LEN 함수가 1을 더하므로 F2 셀은 시작 위치 6을 반환합니다.
이 공식이 사용하는 함수

동작 원리

01모든 버전 호환 공식

SUBSTITUTE 함수가 n번째 찾을 문자열을 |로 바꾸고 FIND 함수가 |의 위치를 반환합니다.

모든 버전 호환 공식의 예제 시트에서 E2 셀이 6을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

SUBSTITUTE 함수가 n번째 문자열을 바꿉니다

SUBSTITUTE 함수가 A2 셀에서 두 번째로 나타난 사과만 |로 바꾸어 위치를 찾을 표시를 남깁니다.

=SUBSTITUTE ( A2, B2, "|", C2 )
= "사과나무 |열렸네" 두 번째 사과가 |로 바뀐 문자열입니다.
2

FIND 함수가 표시의 위치를 찾습니다

바뀐 문자열에서 |는 여섯 번째 글자에 있으므로 FIND 함수가 두 번째 사과의 시작 위치 6을 반환합니다.

=FIND ( "|", SUBSTITUTE ( A2, B2, "|", C2 ) )
= 6 두 번째 사과가 시작하는 위치입니다.

02M365·Excel 2024 이상 공식

TEXTBEFORE 함수가 n번째 찾을 문자열 앞부분을 반환하고 LEN 함수가 그 길이에 1을 더해 시작 위치를 계산합니다.

M365·Excel 2024 이상 공식의 예제 시트에서 F2 셀이 6을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

TEXTBEFORE 함수가 앞부분을 반환합니다

TEXTBEFORE 함수가 A2 셀에서 두 번째 사과 앞에 있는 사과나무와 뒤 공백을 반환합니다.

=TEXTBEFORE ( A2, B2, C2 )
= "사과나무 " 두 번째 사과 앞의 다섯 글자이며 마지막 공백도 포함합니다.
2

LEN 함수가 시작 위치를 계산합니다

LEN 함수가 앞부분의 다섯 글자를 세고 1을 더해 두 번째 사과의 시작 위치 6을 반환합니다.

=LEN ( TEXTBEFORE ( A2, B2, C2 ) )+1
= 6 두 번째 사과가 시작하는 위치입니다.

댓글 12

댓글 12
5 (9개 평가)
엑셀꾸러기
엑셀꾸러기 2021.02.07 20:00
유익한 강의 감사합니다.
그런데 세로막대 "|" 는 어떻게 입력하나요..?
오빠두엑셀
오빠두엑셀 작성자 2021.02.07 22:11
쉬프트 키와 함께 엔터키 위에 있는 역슬러시(\) 를 입력하시면 됩니다. ^^
엑셀꾸러기
엑셀꾸러기 2021.02.10 22:33
감사합니다.!
바람돌이
바람돌이 2021.02.13 10:07
꼭 필요한 기능이네요
그동안 find함수로 순차적으로 찾아 해결했는데 한방에 해결할 수 있어 좋네요
감사합니다
어렵다
어렵다 2021.03.19 14:57
유익한 정보 감사합니다.
엑셀초보
엑셀초보 2021.11.30 00:49
혹시 한개 셀에 해당 단어의 다음내용을 가져오는 방법도 있나요?
예를 들면 한 셀에 이름:홍길동, 나이:33세, 휴대폰:010-1111-1111 라고 적혀있을 때 홍길동 또는 33세 등을 추출하는 방법이 있을까요?
sonic7
sonic7 2026.05.31 10:16
데이터 A1셀      =TRANSPOSE(FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(A1,",","</s><s>"),":","</s><s>")&"</s></t>","//s[position() mod 2=0]"))
나지
나지 2022.06.08 14:45
헉 감사합니다
웃자웃자
웃자웃자 2022.10.31 10:46
감사합니다.
리지
리지 2024.06.26 15:07
감사합니다!
Nickname
Nickname 2024.08.06 11:58
딱 필요한 자료임.
강민준🤗
강민준🤗 2024.08.11 16:48
좋은 강의 감사합니다🙇‍♂️
스크랩 완료