엑셀 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'
텍스트에 구분기호 @가 없어서 오류 발생
관련 글