5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

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("홍길동-과장-영업팀","-",2)"홍길동-과장" → 2번째 발생한 구분기호 앞의 텍스트를 추출합니다.

TEXTBEFORE 함수 간단 예제

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

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

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

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

=TEXTBEFORE("820430-1234567","-")"820430"
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

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