메뉴

TEXTBEFORE 함수

2024
지원 버전 자세히 보기
엑셀 2024M365웹 엑셀

엑셀 TEXTEBEFORE 함수는 지정한 구분자 앞에 있는 텍스트를 추출하는 함수입니다.

TEXTBEFORE 함수 예제 미리보기
예제 미리보기 크게 보기

인수 설명

=TEXTBEFORE(텍스트, 구분기호, [발생지점], [대소문자일치], [끝처리], [N/A값])
인수구분설명
텍스트 필수
검색할 원본 텍스트입니다.
구분기호 필수
텍스트에서 추출할 기준이 되는 구분 기호입니다.
  • 중괄호 {} 로 묶어 여러 구분기호를 사용할 수 있습니다.
    =TEXTBEFORE텍스트,{"@","/"}) → "@"와 "/" 를 구분기호로 사용합니다.
발생지점 선택
텍스트에서 몇 번째 구분기호인지 순번을 입력합니다.
  • 기본값은 1 입니다. 음수로 입력하면 뒤에서부터 셉니다.
    예) -1 : 뒤에서 첫번째로 발생하는 기호를 기준으로 나눕니다.
대소문자일치 선택
대소문자 일치 여부를 설정합니다. 기본값은 대소문자를 구분합니다.
  • 0 [기본값] : 대소문자를 구분합니다.
  • 1 : 대소문자를 구분하지 않습니다.
끝처리 선택
1일 경우 텍스트 끝을 구분기호로 처리합니다.
  • 0 [기본값] : 처리하지 않음
  • 1 : 텍스트 끝을 구분기호로 처리
N/A값 선택
구분자를 찾이 못했을 때 반환할 값입니다. 기본값은 #N/A 오류입니다.
예제 시트
C2=TEXTBEFORE(A2,B2)
A
B
C
D
1
텍스트
구분기호
TEXTBEFORE
2
kim@naver
@
kim
3
서울-강남
-
서울
4
2024/08/10
/
2024
5
A:B:C
:
A
6
red|blue
|
red
7
각 텍스트에서 지정한 구분기호가 처음 나타난 지점 앞의 문자열을 반환합니다.

함수 개요

엑셀 TEXTBEFORE 함수는 문자열에서 특정 구분기호 앞에 위치한 텍스트를 추출하는 함수입니다. 예를 들어 이메일 주소(abc@naver.com)에서 아이디 부분(abc)만 추출하거나, 제품 코드(ZA-15D)에서 특정 부분(ZA)만 추출하는 등 다양한 텍스트 작업에 사용할 수 있습니다.

=TEXTBEFORE("abc@naver.com","@")→ "abc"
=TEXTBEFORE("홍길동-과장-영업팀","-")→ "홍길동"
엑셀 TEXTBEFORE 함수 수식 입력 예제 1

구분기호가 여러개 있을 경우, 몇 번째 구분 기호를 기준으로 나눌지 발생 지점을 지정하거나 대소문자 구분 여부도 설정할 수 있습니다.

=TEXTBEFORE("홍길동-과장-영업팀","-",2)"홍길동-과장" → 2번째 발생한 구분기호 앞의 텍스트를 추출합니다.
엑셀 TEXTBEFORE 함수 수식 입력 예제 2

TEXTBEFORE 함수 간단 예제

1
직원 정보에서 이름만 추출하기

다음과 같이 함수를 작성하면 "/" 기호를 기준으로 직원 정보를 자유롭게 추출할 수 있습니다.

=TEXTBEFORE("김철수/대리/인사팀/2020년입사", "/")"김철수" → 1번째 구분기호 기준
=TEXTBEFORE("김철수/대리/인사팀/2020년입사", "/", 2)"김철수/대리" → 2번째 구분기호 기준
엑셀 TEXTBEFORE 함수 간단 예제 1
2
주민등록번호에서 생년월일 추출하기

다음과 같이 함수를 작성하면 주민등록번호에서 생년월일(앞 6자리)를 추출할 수 있습니다.

=TEXTBEFORE("820430-1234567","-")"820430"
엑셀 TEXTBEFORE 함수 간단 예제 2
3
여러 구분기호 기준으로 텍스트 추출하기

함수의 구분 기호를 중괄호 {} 로 묶어서 작성하면 여러 기호를 동시에 지정할 수 있습니다. 다음과 같이 함수를 작성하면 구분기호에 상관없이 날짜에서 년도를 추출할 수 있습니다.

=TEXTBEFORE("2025년 05월 11일",{"년","-","/"})"2025"
=TEXTBEFORE("2025-05-11",{"년","-","/"})"2025" → 구분기호에 상관없이 날짜 형식의 텍스트에서 년도를 추출합니다.
엑셀-년도-추출
여러 구분기호로 작성된 날짜 텍스트에서 년도를 추출합니다.

TEXTBEFORE 함수 상세 가이드

1)[끝처리] 인수 자세히 알아보기

TEXTBEFORE 함수의 [끝처리] 인수를 1로 설정하면 문자열의 끝 부분이 가상의 구분자로 처리됩니다. 예를 들어 "강남_아이파크_102동_4호" 라는 문자열에서 "_" 기호를 기준으로 TEXTBEFORE 함수를 사용하는 상황을 가정하겠습니다.

=TEXTBEFORE("102.81.234.123",".",4)#N/A → 4번째 구분기호가 없으므로 #N/A 오류를 반환합니다.

하지만 끝처리를 1로 입력하면 텍스트 끝에 가상의 구분기호가 추가되어, 문자열에 구분기호가 없거나 발생지점이 잘못되더라도 전체 문자열을 반환할 수 있습니다.

=TEXTBEFORE("102.81.234.123",".",4,,1)"102.81.234.123" → 텍스트 끝에 가상의 구분자가 추가되어 전체 문자열이 반환됩니다.

그 외 주의사항

구분 기호가 텍스트에 포함되어 있지 않을 경우 TEXTBEFORE 함수는 #N/A 오류를 반환합니다

발생 지점이 0으로 잘못 입력되면 함수는 #VALUE! 오류를 반환합니다.

발생 지점이 양수일 경우 구분기호를 문자열의 앞에서부터 검색하고, 음수일 경우 문자열의 뒤에서부터 검색합니다.

구분기호로 빈 문자열("")을 사용하면 TEXTBEFORE 함수는 전체 문자열을 반환합니다.

TEXTBEFORE 함수는 와일드카드 검색(*.?)을 지원하지 않습니다. 와일드카드 검색이 필요할 경우, SEARCH 함수 RIGHT 함수  공식을 사용합니다.

댓글 0
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
스크랩 완료