엑셀 함수 > 텍스트 함수 > TEXTBEFORE 함수 – 구분기호 앞의 텍스트 잘라내기

TEXTBEFORE 함수 – 구분기호 앞의 텍스트 잘라내기

엑셀 TEXTBEFORE 함수는 텍스트에서 구분 기호(구분자) 앞부분을 잘라내 줍니다. 이 함수는 2023년 10월 현재 Microsoft 365 이상 버전에서만 쓸 수 있습니다.

이 함수가 없던 이전에는 텍스트에서 구분 기호 앞부분을 잘라내려면 구분 기호의 위치를 먼저 찾은 다음 원하는 텍스트를 잘라낼 수 밖에 없었습니다. 이제 TEXTBEFORE 함수를 사용하면 간단하게 텍스트를 한번에 잘라낼 수 있습니다.

** TEXTBEFORE 함수와 비슷한 TEXTAFTER 함수는 구분기호 뒷 부분을 잘라내 줍니다.

구문(Syntax)

구문(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-함수사용법.xlsx

 

사용 예

기본 사용법

다음과 같이 구분기호 앞의 텍스트를 잘라낼 수 있습니다.

엑셀 TEXTBEFORE 함수 기본사용법

슬래쉬(/) 앞의 텍스트 잘라내기
=TEXTBEFORE(B6,"/") → '서울 서대문구'

@ 앞의 텍스트 잘라내기
=TEXTBEFORE(B9,"@") → 'hong-gildong'

'하이픈(-) 앞의 텍스트 잘라내기
=TEXTBEFORE(B12,"-") → '19880101'

 

잘라낼 위치 지정

세 번째 인수 Instance_num을 지정하면 몇 번째 구분기호 앞을 잘라낼지 결정할 수 있습니다.

엑셀 TEXTBEFORE 함수 - 잘라낼 위치 지정

=TEXTBEFORE(B16,"/",2) → '서울/서대문구'
두 번째 '/' 앞의 텍스트 잘라내기(세번째 인수가 2이므로 두 번째 구분기호 앞의 텍스트를 잘라냄)

=TEXTBEFORE(B18,"/") → '서울'
세 번째 인수를 쓰지 않으면 기본값이 1이므로 첫번째 '/' 앞의 텍스트를 잘라냄

 

잘라낼 위치를 음수로 지정

세 번째 인수 Instance_num을 음수로 지정하면 구분기호를 뒤에서부터 찾아서 텍스트를 잘라냅니다.

엑셀 TEXTBEFORE 함수 - 잘라낼 위치를 음수로 지정

=TEXTBEFORE(B22,"/",-1) → '서울/서대문구/연세로'
맨뒤의 구분기호 '/' 앞의 텍스트 잘라내기

=TEXTBEFORE(B23,"/",-2) → '서울/서대문구'
뒤에서 두번째 구분기호 '/' 앞의 텍스트 잘라내기

 

구분기호 대소문자 구분

네 번째 인수 match_mode를 사용하면 구분기호를 대소문자를 구분할지 결정할 수 있습니다.

엑셀 TEXTBEFORE 함수 - 구분기호 대소문자 구분

=TEXTBEFORE(B29,"X",1,1) → 6
네 번째 인수 match_mode가 1이면 대소문자 구분 안하므로 구분 기호 소문자 'x' 앞의 6을 반환

=TEXTBEFORE(B31,"X",1) → '#N/A'
네 번째 인수 match_mode가 생략되면 기본 값이 0(대소문자 구분), 구분기호 대문자 'X'는 찾을 수 없으므로 오류 발생

 

텍스트 끝에 구분기호가 있는 것처럼 처리 여부

다섯 번째 인수 match_end를 사용하면 텍스트 끝에 구분기호가 있는 것처럼 처리할 수 있습니다.

엑셀 TEXTBEFORE 함수 - 텍스트 끝을 구분기호로 처리

=TEXTBEFORE(B36,"/",4,0,1) → '서울/서대문구/연세로/홍익문고'
마지막에 '/'가 있는 것처럼 처리(텍스트의 마지막에는 구분기호가 붙지 않을 때 사용하면 유용함)

=TEXTBEFORE(B37,"/",4) → '#N/A'
네 번째 '/'는 없으므로 오류 발생

 

찾을 수 없을 때 대신 표시할 값 지정

여섯 번째 인수 if_not_found: 구분 기호를 찾을 수 없을 때 대신 표시할 값을 지정할 수 있습니다.

엑셀 TEXTBEFORE 함수 - 찾을 수 없을 때 대신 표시할 값 지정

=TEXTBEFORE(B42,"@",4,0,0,"**없음**") → '**없음**'
구분기호 @가 없지만 if_not_found로 지정한 '**없음**'을 표시

=TEXTBEFORE(B43,"@",4) → '#N/A'
텍스트에 구분기호 @가 없어서 오류 발생

 


관련 글

TEXTSPLIT 함수 사용법 TEXTSPLIT 함수 – 기호로 구분하여 텍스트 나누기 - 엑셀 TEXTSPLIT 함수는 기호로 구분하여 텍스트를 열 또는 행단위로 나누어 줍니다. 이 함수는 2023년 9월 현재 Microsoft 365 이상 버전에서만…

TEXTSPLIT 함수 – 기호로 구분하여 텍스트 나누기 더 보기 »

수식으로 텍스트 나누기.xlsx 수식으로 한 번에 텍스트 나누기 - 다음과 같이 A열에 슬래쉬, 쉼표, 공백 등으로 구분된 텍스트가 입력되어 있을 때 여러 열에 나누어서 값을 가져오려면 텍스트 나누기로 해도…

수식으로 한 번에 텍스트 나누기 더 보기 »

텍스트에서 마지막 단어 잘라내기 텍스트에서 마지막 단어 잘라내기 - 엑셀을 이용하여 자료를 다루다 보면 다음과 같이 하이픈으로 구분된 텍스트에서 가장 마지막에 있는 단어를 잘라내야 할 경우가 있습니다. 문제는 길이도…

텍스트에서 마지막 단어 잘라내기 더 보기 »

엑셀 텍스트 나누기의 모든 것 - 엑셀을 제대로, 쉽게 사용하려면 데이터가 먼저 정리되어 있어야 합니다. 데이터가 정리되지 않은 상태에서는 수식을 복잡하게 꼬거나 난해한 방법으로 문제를 해결해야…

엑셀 텍스트 나누기의 모든 것 더 보기 »

 

엑셀웍스 책 출간 안내

그동안 엑셀웍스에 올린 '엑셀 강좌', '함수 사용법', 여러 '실무 예제'에서 핵심만 뽑아 '된다! 엑셀 수식 & 함수' 책으로 출간하였습니다.

엑셀웍스 책 출간안내  자세히 보기

온라인 구매처: 예스24   교보문고   알라딘 

댓글 남기기

Scroll to Top