엑셀 / 특정 문자 앞, 특정 문자 뒤 텍스트 추출하는 방법

특정 문자 앞부분은 LEFT와 FIND, 뒷부분은 RIGHT·LEN·FIND로 추출할 수 있습니다. 예를 들어 @의 위치를 구해 그 앞뒤를 나눕니다. 같은 구분자가 여러 개라면 기본 FIND는 첫 위치를 사용하므로 어느 구분자를 기준으로 할지 먼저 정하세요.

구분자 앞부분 추출

=LEFT(B2,FIND("@",B2)-1)

B2의 abc@manualfactory.net에서 @ 앞의 abc를 추출한 예입니다. FIND의 결과 4에서 구분자 자체 한 글자를 제외하려고 1을 뺍니다.

B2의 abc@manualfactory.net에서 @ 앞의 abc를 추출한 예입니다. FIND의 결과 4에서 구분자 자체 한 글자를 제외하려고 1을 뺍니다.

구분자 뒷부분 추출

=RIGHT(B2,LEN(B2)-FIND("@",B2))

같은 문자열에서 @ 뒤의 manualfactory.net을 추출한 예입니다. 전체 길이에서 구분자 위치를 빼면 오른쪽에서 가져올 문자 수가 됩니다.

같은 문자열에서 @ 뒤의 manualfactory.net을 추출한 예입니다. 전체 길이에서 구분자 위치를 빼면 오른쪽에서 가져올 문자 수가 됩니다.

한 글자 구분자 대신 여러 글자 구분자를 사용할 때는 구분자 길이까지 고려해야 합니다. 예를 들어 :: 뒤를 MID로 가져오려면 =MID(B2,FIND("::",B2)+LEN("::"),LEN(B2))처럼 시작 위치를 정할 수 있습니다.

구분자가 없거나 여러 개일 때

구분자가 없으면 FIND는 #VALUE! 오류를 반환합니다. 이 경우 ‘빈 문자열’로 처리할지 ‘원본 그대로’ 둘지 또는 오류 안내를 할지 정하세요. 무조건 빈 문자열로 감추면 잘못된 데이터가 누락된 것처럼 보일 수 있습니다.

A@B@C에서 기본 앞부분 수식은 A, 뒷부분 수식은 B@C입니다. 마지막 구분자 기준 또는 두 번째 구분자 기준 작업은 다른 수식이 필요합니다. 대소문자 구분도 FIND·SEARCH에 따라 달라집니다.

TEXTBEFORE·TEXTAFTER 대안

=TEXTBEFORE(B2,"@")
=TEXTAFTER(B2,"@")

지원되는 Excel에서는 구분자 앞뒤를 직접 표현할 수 있습니다. instance_num로 몇 번째 구분자를 사용할지 지정하고 음수로 끝에서부터 지정하는 옵션도 있습니다. 구형 Excel에서는 사용할 수 없으므로 공식 문서의 지원 제품과 미일치 처리 인수를 확인하세요.

구문과 지원 제품은 Microsoft의 LEFT 함수 설명, Microsoft의 RIGHT 함수 설명, Microsoft의 LEN 함수 설명, Microsoft의 TEXTBEFORE 함수 설명, Microsoft의 TEXTAFTER 함수 설명에서 확인할 수 있습니다.

이 방법은 문자열 분리이며 이메일 주소의 유효성까지 검사하지 않습니다. 이메일 사용자 부분만 다룰 때의 주의점은 이메일 앞부분 추출에서 확인할 수 있습니다.

같은 카테고리의 다른 글
엑셀 / 함수 / COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS

엑셀 / 함수 / COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS

COUNT·COUNTA·COUNTBLANK·COUNTIF·COUNTIFS의 계산 대상을 비교합니다. 수식 빈 문자열, 공백과 0의 처리 및 조건별 개수 예제를 설명합니다.

엑셀 / 월별 합계 구하는 방법 두 가지

엑셀 / 월별 합계 구하는 방법 두 가지

보조 열과 SUMIF로 월별 합계를 구하는 방법, SUMIFS 날짜 구간으로 연도까지 구분하는 방법을 설명합니다. 기존 배열 수식의 버전별 입력 차이도 다룹니다.

엑셀 / 함수 / SUM, SUMIF, SUMIFS / 합계 구하는 함수

엑셀 / 함수 / SUM, SUMIF, SUMIFS / 합계 구하는 함수

SUM·SUMIF·SUMIFS의 인수 순서와 조건별 합계 예제를 정리합니다. 비교 연산자·셀 참조 연결과 범위 크기, 숨겨진 행의 처리도 설명합니다.

엑셀 / 함수 / TEXTJOIN / 여러 텍스트를 하나로 합치는 함수

엑셀 / 함수 / TEXTJOIN / 여러 텍스트를 하나로 합치는 함수

TEXTJOIN의 구분자·빈 셀 옵션을 비교하고 여러 셀을 한 문장으로 연결하는 예제를 안내합니다. 날짜·숫자 서식과 결과 길이 제한도 설명합니다.

엑셀 / VBA / 모듈 내보내기 가져오기

엑셀 / VBA / 모듈 내보내기 가져오기

VBA 표준 모듈을 bas 파일로 내보내 다른 통합 문서에 가져오는 방법을 설명합니다. 중복 이름, 시트 참조·라이브러리 의존성과 전체 백업의 차이도 다룹니다.

엑셀 / 시트의 눈금선 없애는 방법

엑셀 / 시트의 눈금선 없애는 방법

보기 탭에서 눈금선을 숨기고 다시 표시하는 방법을 안내합니다. 셀 테두리와 인쇄 눈금선의 차이, 눈금선 색과 채우기 색의 영향도 설명합니다.

엑셀 / VBA / 매크로 만들고 실행하기

엑셀 / VBA / 매크로 만들고 실행하기

표준 모듈에 SayHello 매크로를 만들고 실행·수정하는 과정을 설명합니다. Sheet1 참조의 의미, 셀 덮어쓰기와 xlsm 저장 시 주의점도 다룹니다.

엑셀 / 함수 / PRODUCT / 곱하기 함수

엑셀 / 함수 / PRODUCT / 곱하기 함수

PRODUCT로 개별 숫자·범위를 곱하는 방법을 설명합니다. 빈 셀·텍스트·0 처리와 행별 곱의 합을 구하는 SUMPRODUCT의 차이도 확인할 수 있습니다.

엑셀 / VBA / 메뉴에 개발 도구 추가하는 방법

엑셀 / VBA / 메뉴에 개발 도구 추가하는 방법

Excel 옵션에서 개발 도구 탭을 추가하고 다시 숨기는 방법을 안내합니다. VBA 편집기·매크로·컨트롤의 역할과 매크로 보안 설정의 차이도 설명합니다.

엑셀 / 함수 / VAR.P, VAR.S, VARP, VAR / 분산과 표본분산 구하는 함수

엑셀 / 함수 / VAR.P, VAR.S, VARP, VAR / 분산과 표본분산 구하는 함수

모집단 전체와 표본 자료에 따라 VAR.P·VAR.S를 선택하는 기준을 설명합니다. 분모 차이와 숫자 0·빈 셀 처리, 호환 함수의 관계도 정리합니다.