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

엑셀 오른쪽에서 마지막 문자 위치 찾기 공식

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

지정한 문자열이 마지막으로 시작하는 위치를 계산하는 공식입니다.

엑셀 오른쪽에서 마지막 문자 위치 찾기 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01모든 버전 호환 공식

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

02M365·Excel 2024 이상 공식

=LEN ( TEXTBEFORE ( , 문자, -1 ) ) + 1
인수 설명 자세히 보기
인수구분설명
필수마지막 위치를 찾을 원문이 입력된 셀입니다.
문자필수마지막 시작 위치를 찾을 문자 또는 문자열입니다. 셀에 포함되지 않으면 오류를 반환합니다.
E2=LEN(TEXTBEFORE(A2,B2,-1))+1
A
B
C
D
E
F
1
원문
찾을 문자열
기존 공식 위치
TEXTBEFORE 위치
2
사과밭 사과나무 사과열렸네
사과
10
10
3
서울-부산-대구
-
6
6
4
AB-AB-AB
AB
7
7
5
ID/2026/08
/
8
8
6
가나다라마바사가
8
8
7
red blue red
red
10
10
8
동동서동
4
4
9
TEXTBEFORE 함수가 A2 셀의 마지막 사과 앞에 있는 아홉 글자를 반환하고 LEN 함수가 1을 더하므로 E2 셀은 시작 위치 10을 반환합니다.
이 공식이 사용하는 함수

동작 원리

01모든 버전 호환 공식

LEN 함수와 SUBSTITUTE 함수가 마지막 발생 순번을 계산하고 FIND 함수가 바꾼 표시 문자의 위치를 반환합니다.

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

1

제거된 문자열의 총 길이를 계산합니다

LEN 함수는 원문 길이 14에서 사과를 모두 제거한 문자열 길이 8을 뺍니다. 차이 6은 다른 문자의 개수가 아니라 제거된 사과 세 개의 총 문자 수입니다.

=LEN ( A2 )-LEN ( SUBSTITUTE ( A2, B2, "" ) )
= 6 사과 세 번을 지우며 줄어든 총 글자 수입니다.
2

마지막 발생 순번을 계산합니다

제거된 총 문자 수 6을 사과의 길이 2로 나누면 원문에서 사과가 세 번 나타났다는 것을 확인할 수 있습니다.

=( LEN ( A2 )-LEN ( SUBSTITUTE ( A2, B2, "" ) ) ) / LEN ( B2 )
= 3 마지막 사과는 세 번째로 나타난 사과입니다.
3

마지막 문자열을 표시 문자로 바꿉니다

SUBSTITUTE 함수는 세 번째 사과만 |로 바꾸어 마지막 발생 위치를 찾을 표시를 남깁니다.

=SUBSTITUTE ( A2, B2, "|", 3 )
= "사과밭 사과나무 |열렸네" 마지막 사과가 |로 바뀐 문자열입니다.
4

FIND 함수가 마지막 위치를 반환합니다

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

=FIND ( "|", SUBSTITUTE ( A2, B2, "|", 3 ) )
= 10 마지막 사과가 시작하는 위치입니다.

02M365·Excel 2024 이상 공식

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

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

1

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

TEXTBEFORE 함수의 인스턴스 번호 -1은 오른쪽에서 첫 번째 사과를 기준으로 삼습니다. 마지막 사과 앞의 공백까지 포함해 아홉 글자를 반환합니다.

=TEXTBEFORE ( A2, B2, -1 )
= "사과밭 사과나무 " 마지막 공백을 포함한 아홉 글자입니다.
2

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

LEN 함수가 앞부분의 아홉 글자를 세고 1을 더해 마지막 사과의 시작 위치 10을 반환합니다.

=LEN ( TEXTBEFORE ( A2, B2, -1 ) )+1
= 10 마지막 사과가 시작하는 위치입니다.

댓글 3

댓글 3
5 (3개 평가)
물처럼살자
물처럼살자 2021.04.25 12:57
신기하군요 ㅎㅎㅎ
웃자웃자
웃자웃자 2022.12.07 09:20
좋은 강의 감사합니다. 다만, 이해가 가지 않는 부분이 있습니다.
공식의 동작원리 2번에 6/2를 하면 3번째 사과를 찾는다는 뜻으로 결과가 나옵니다. 6은 "밭 나무 열렸네"에 불과한데 어떻게 이런 결과가 나온 것이죠?ㅠㅠ
항상 좋은 내용 잘배우고 있습니다!
-------------------------------------------
이해했습니다.. 6이 사과사과사과였군요! 감사합니다!
강민준🤗
강민준🤗 2024.08.11 17:00
좋은 강의 감사합니다🙇‍♂️
스크랩 완료