엑셀 오른쪽에서 마지막 문자 위치 찾기 공식
지원 버전 자세히 보기
지정한 문자열이 마지막으로 시작하는 위치를 계산하는 공식입니다.
인수 설명
01모든 버전 호환 공식
=FIND ( "|", SUBSTITUTE ( 셀, 문자, "|", ( LEN ( 셀 )-LEN ( SUBSTITUTE ( 셀, 문자, "" ) ) ) / LEN ( 문자 ) ) )인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
02M365·Excel 2024 이상 공식
=LEN ( TEXTBEFORE ( 셀, 문자, -1 ) ) + 1인수 설명 자세히 보기
동작 원리
01모든 버전 호환 공식
LEN 함수와 SUBSTITUTE 함수가 마지막 발생 순번을 계산하고 FIND 함수가 바꾼 표시 문자의 위치를 반환합니다.
모든 버전 호환 공식의 예제 시트에서 D2 셀이 10을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
제거된 문자열의 총 길이를 계산합니다
LEN 함수는 원문 길이 14에서 사과를 모두 제거한 문자열 길이 8을 뺍니다. 차이 6은 다른 문자의 개수가 아니라 제거된 사과 세 개의 총 문자 수입니다.
=LEN ( A2 )-LEN ( SUBSTITUTE ( A2, B2, "" ) )
= 6
사과 세 번을 지우며 줄어든 총 글자 수입니다. 마지막 발생 순번을 계산합니다
제거된 총 문자 수 6을 사과의 길이 2로 나누면 원문에서 사과가 세 번 나타났다는 것을 확인할 수 있습니다.
=( LEN ( A2 )-LEN ( SUBSTITUTE ( A2, B2, "" ) ) ) / LEN ( B2 )
= 3
마지막 사과는 세 번째로 나타난 사과입니다. 마지막 문자열을 표시 문자로 바꿉니다
SUBSTITUTE 함수는 세 번째 사과만 |로 바꾸어 마지막 발생 위치를 찾을 표시를 남깁니다.
=SUBSTITUTE ( A2, B2, "|", 3 )
= "사과밭 사과나무 |열렸네"
마지막 사과가 |로 바뀐 문자열입니다. FIND 함수가 마지막 위치를 반환합니다
바뀐 문자열에서 |는 열 번째 글자에 있으므로 FIND 함수가 마지막 사과의 시작 위치 10을 반환합니다.
=FIND ( "|", SUBSTITUTE ( A2, B2, "|", 3 ) )
= 10
마지막 사과가 시작하는 위치입니다. 02M365·Excel 2024 이상 공식
TEXTBEFORE 함수가 마지막 찾을 문자열 앞부분을 반환하고 LEN 함수가 그 길이에 1을 더해 시작 위치를 계산합니다.
M365·Excel 2024 이상 공식의 예제 시트에서 E2 셀이 10을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
TEXTBEFORE 함수가 앞부분을 반환합니다
TEXTBEFORE 함수의 인스턴스 번호 -1은 오른쪽에서 첫 번째 사과를 기준으로 삼습니다. 마지막 사과 앞의 공백까지 포함해 아홉 글자를 반환합니다.
=TEXTBEFORE ( A2, B2, -1 )
= "사과밭 사과나무 "
마지막 공백을 포함한 아홉 글자입니다. LEN 함수가 시작 위치를 계산합니다
LEN 함수가 앞부분의 아홉 글자를 세고 1을 더해 마지막 사과의 시작 위치 10을 반환합니다.
=LEN ( TEXTBEFORE ( A2, B2, -1 ) )+1
= 10
마지막 사과가 시작하는 위치입니다.
공식의 동작원리 2번에 6/2를 하면 3번째 사과를 찾는다는 뜻으로 결과가 나옵니다. 6은 "밭 나무 열렸네"에 불과한데 어떻게 이런 결과가 나온 것이죠?ㅠㅠ
항상 좋은 내용 잘배우고 있습니다!
-------------------------------------------
이해했습니다.. 6이 사과사과사과였군요! 감사합니다!