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

특정 문자 앞부분은 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 함수 설명에서 확인할 수 있습니다.

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

같은 카테고리의 다른 글
엑셀 / 삼각함수(사인, 코사인, 탄젠트 등)의 값 계산하기

엑셀 / 삼각함수(사인, 코사인, 탄젠트 등)의 값 계산하기

SIN·COS·TAN과 역수 함수의 사용법, 도 단위를 라디안으로 변환하는 방법을 정리합니다. 각도 입력 오류와 정의되지 않는 값에 주의하며 삼각함수 계산을 할 수 있습니다.

엑셀 / 함수 / EVEN, ODD / 짝수 또는 홀수로 올림 또는 내림하는 함수

엑셀 / 함수 / EVEN, ODD / 짝수 또는 홀수로 올림 또는 내림하는 함수

EVEN과 ODD가 0에서 멀어지는 방향으로 짝수·홀수를 만드는 원리를 설명합니다. 음수와 0 예제로 ISEVEN·ISODD의 판별 기능과 구분할 수 있습니다.

엑셀 / 인쇄 / 워크시트에서 선택한 영역만 인쇄하는 방법

엑셀 / 인쇄 / 워크시트에서 선택한 영역만 인쇄하는 방법

선택 영역 인쇄와 인쇄 영역 지정의 차이를 설명합니다. 머리글·배율·미리 보기와 다음 인쇄 작업의 설정 확인을 안내합니다.

엑셀 / 함수 / LARGE, SMALL / k번째로 큰 값, 작은 값 구하는 함수

엑셀 / 함수 / LARGE, SMALL / k번째로 큰 값, 작은 값 구하는 함수

LARGE·SMALL로 k번째 값을 구하고 MAX·MIN과 비교합니다. 중복 숫자의 순위 처리, 잘못된 k와 빈 범위에서 발생하는 오류도 설명합니다.

엑셀 / 여러 워크시트 한 화면에서 동시에 보기

엑셀 / 여러 워크시트 한 화면에서 동시에 보기

새 창과 모두 정렬로 같은 통합 문서의 여러 시트를 함께 보는 방법을 설명합니다. 새 파일 복사와의 차이, 창별 시트 선택과 동기 스크롤도 다룹니다.

엑셀 / 인쇄 / 바닥글에 총 페이지 수, 현재 페이지 번호 표시하는 방법

엑셀 / 인쇄 / 바닥글에 총 페이지 수, 현재 페이지 번호 표시하는 방법

바닥글에 현재 페이지·전체 페이지 수를 넣고 모양을 수정하는 방법을 설명합니다. 필드 삽입, 인쇄 범위와 실제 미리 보기 확인을 안내합니다.

엑셀 / 함수 / LEN, LENB / 문자열의 문자 수, 바이트 수 구하는 함수

엑셀 / 함수 / LEN, LENB / 문자열의 문자 수, 바이트 수 구하는 함수

LEN의 문자 수 계산과 공백·숫자·빈 문자열 처리 예제를 안내합니다. LENB가 파일의 UTF-8 바이트 크기와 다른 점과 이모지의 호환성 차이도 설명합니다.

엑셀 / 메모 삽입하는 방법, 메모 삭제하는 방법, 메모 일괄 삭제하는 방법

엑셀 / 메모 삽입하는 방법, 메모 삭제하는 방법, 메모 일괄 삭제하는 방법

간단한 셀 메모와 대화형 주석을 구분하고 삽입·서식·삭제 방법을 설명합니다. 현재 시트의 메모 일괄 선택과 삭제 전 범위 확인도 안내합니다.

엑셀 / 날짜를 텍스트로, 텍스트를 날짜로 변환하는 방법

엑셀 / 날짜를 텍스트로, 텍스트를 날짜로 변환하는 방법

TEXT·DATEVALUE로 날짜와 텍스트를 변환하는 방법을 설명합니다. 일련번호·표시 형식의 차이와 지역별 문자열 해석, 값으로 저장하는 과정도 다룹니다.

엑셀 / 함수 / REPLACE, REPLACEB / 특정 위치의 문자열을 바꾸는 함수

엑셀 / 함수 / REPLACE, REPLACEB / 특정 위치의 문자열을 바꾸는 함수

REPLACE로 위치와 문자 수를 지정해 문자열을 바꾸는 방법을 설명합니다. SUBSTITUTE와의 차이, REPLACEB의 호환성 및 개인정보 표시의 한계를 다룹니다.