엑셀 TEXTBEFORE 함수는 텍스트에서 구분 기호(구분자) 앞부분을 잘라내 줍니다. 이 함수는 2023년 10월 현재 Microsoft 365 이상 버전에서만 쓸 수 있습니다.
이 함수가 없던 이전에는 텍스트에서 구분 기호 앞부분을 잘라내려면 구분 기호의 위치를 먼저 찾은 다음 원하는 텍스트를 잘라낼 수 밖에 없었습니다. 이제 TEXTBEFORE 함수를 사용하면 간단하게 텍스트를 한번에 잘라낼 수 있습니다.
** TEXTBEFORE 함수와 비슷한 TEXTAFTER 함수는 구분기호 뒷 부분을 잘라내 줍니다.
구문(Syntax)
TEXTBEFORE(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])
TEXTBEFORE(텍스트, 구분기호, [찾을순번], [일치유형], [끝을 구분기호로 처리], [찾을수없을때])
구분 기호(delimiter)앞의 텍스트를 잘라낸다.
인수
- text: 처리할 텍스트
- delimiter: 구분할 문자(구분기호)
- instance_num: 구분 기호를 찾을 순번(기본값: 1)
- match_mode: 구분 기호 대소문자 구분 여부(0: 대소문자 구분(기본값), 1: 대소문자 구분하지 않음)
- match_end: 텍스트 끝을 구분기호로 처리(0: 처리하지 않음(기본값), 1: 처리함)
- if_not_found: 구분기호를 찾지 못할 때 대신 표시할 값
사용 예
기본 사용법
다음과 같이 구분기호 앞의 텍스트를 잘라낼 수 있습니다.

슬래쉬(/) 앞의 텍스트 잘라내기
=TEXTBEFORE(B6,"/") → '서울 서대문구'
@ 앞의 텍스트 잘라내기
=TEXTBEFORE(B9,"@") → 'hong-gildong'
'하이픈(-) 앞의 텍스트 잘라내기
=TEXTBEFORE(B12,"-") → '19880101'
잘라낼 위치 지정
세 번째 인수 Instance_num을 지정하면 몇 번째 구분기호 앞을 잘라낼지 결정할 수 있습니다.

=TEXTBEFORE(B16,"/",2) → '서울/서대문구'
두 번째 '/' 앞의 텍스트 잘라내기(세번째 인수가 2이므로 두 번째 구분기호 앞의 텍스트를 잘라냄)
=TEXTBEFORE(B18,"/") → '서울'
세 번째 인수를 쓰지 않으면 기본값이 1이므로 첫번째 '/' 앞의 텍스트를 잘라냄
잘라낼 위치를 음수로 지정
세 번째 인수 Instance_num을 음수로 지정하면 구분기호를 뒤에서부터 찾아서 텍스트를 잘라냅니다.

=TEXTBEFORE(B22,"/",-1) → '서울/서대문구/연세로'
맨뒤의 구분기호 '/' 앞의 텍스트 잘라내기
=TEXTBEFORE(B23,"/",-2) → '서울/서대문구'
뒤에서 두번째 구분기호 '/' 앞의 텍스트 잘라내기
구분기호 대소문자 구분
네 번째 인수 match_mode를 사용하면 구분기호를 대소문자를 구분할지 결정할 수 있습니다.

=TEXTBEFORE(B29,"X",1,1) → 6
네 번째 인수 match_mode가 1이면 대소문자 구분 안하므로 구분 기호 소문자 'x' 앞의 6을 반환
=TEXTBEFORE(B31,"X",1) → '#N/A'
네 번째 인수 match_mode가 생략되면 기본 값이 0(대소문자 구분), 구분기호 대문자 'X'는 찾을 수 없으므로 오류 발생
텍스트 끝에 구분기호가 있는 것처럼 처리 여부
다섯 번째 인수 match_end를 사용하면 텍스트 끝에 구분기호가 있는 것처럼 처리할 수 있습니다.

=TEXTBEFORE(B36,"/",4,0,1) → '서울/서대문구/연세로/홍익문고'
마지막에 '/'가 있는 것처럼 처리(텍스트의 마지막에는 구분기호가 붙지 않을 때 사용하면 유용함)
=TEXTBEFORE(B37,"/",4) → '#N/A'
네 번째 '/'는 없으므로 오류 발생
찾을 수 없을 때 대신 표시할 값 지정
여섯 번째 인수 if_not_found: 구분 기호를 찾을 수 없을 때 대신 표시할 값을 지정할 수 있습니다.

=TEXTBEFORE(B42,"@",4,0,0,"**없음**") → '**없음**'
구분기호 @가 없지만 if_not_found로 지정한 '**없음**'을 표시
=TEXTBEFORE(B43,"@",4) → '#N/A'
텍스트에 구분기호 @가 없어서 오류 발생
관련 글
TEXTSPLIT 함수 – 기호로 구분하여 텍스트 나누기 - 엑셀 TEXTSPLIT 함수는 기호로 구분하여 텍스트를 열 또는 행단위로 나누어 줍니다. 이 함수는 2023년 9월 현재 Microsoft 365 이상 버전에서만…
텍스트에서 마지막 단어 잘라내기 - 엑셀을 이용하여 자료를 다루다 보면 다음과 같이 하이픈으로 구분된 텍스트에서 가장 마지막에 있는 단어를 잘라내야 할 경우가 있습니다. 문제는 길이도…
엑셀 텍스트 나누기의 모든 것 - 엑셀을 제대로, 쉽게 사용하려면 데이터가 먼저 정리되어 있어야 합니다. 데이터가 정리되지 않은 상태에서는 수식을 복잡하게 꼬거나 난해한 방법으로 문제를 해결해야…
