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

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

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

같은 카테고리의 다른 글
엑셀 / 기호, 특수 문자 입력하는 방법

엑셀 / 기호, 특수 문자 입력하는 방법

삽입 탭의 기호와 Windows 한글 입력기의 자음·한자 조합으로 특수 문자를 넣습니다. 글꼴 지원, 계산 기호와 문자 및 실제 체크박스의 차이도 설명합니다.

엑셀 / 함수 / XIRR / 비정기적인 현금 흐름의 내부수익률 계산하는 함수

엑셀 / 함수 / XIRR / 비정기적인 현금 흐름의 내부수익률 계산하는 함수

XIRR의 금액·날짜 범위를 맞추고 연 단위 내부수익률을 계산하는 방법을 안내합니다. IRR과 다른 점, 날짜 오류와 추정값의 한계도 설명합니다.

엑셀 / 행, 열, 워크시트 숨기기, 숨기기 취소하기

엑셀 / 행, 열, 워크시트 숨기기, 숨기기 취소하기

행·열·시트를 숨기고 다시 표시하는 경로를 설명합니다. 첫 행·첫 열, 숨기기 취소 비활성화와 숨김이 보안 기능이 아닌 이유도 안내합니다.

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

현대 Excel 워크시트의 행·열·셀 수와 마지막 셀 주소를 설명합니다. .xls의 제한과 실제 처리 용량·숫자 정밀도는 별도 조건임을 안내합니다.

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

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

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

엑셀 / 하이퍼링크 제거하는 방법, 자동 하이퍼링크 안 생기게 하는 방법

엑셀 / 하이퍼링크 제거하는 방법, 자동 하이퍼링크 안 생기게 하는 방법

기존 하이퍼링크를 제거하거나 입력 시 자동 생성을 끄는 방법을 설명합니다. 텍스트·서식 보존과 HYPERLINK 수식의 별도 처리도 안내합니다.

엑셀 / 랜덤 정렬하는 방법

엑셀 / 랜덤 정렬하는 방법

RAND 보조 열로 자료 순서를 무작위로 바꾸는 방법을 설명합니다. 난수 값 고정과 행 전체 정렬, 원래 순서 복구 및 통계·추첨 용도의 한계도 다룹니다.

엑셀 / 오름차순 정렬하기, 내림차순 정렬하기, 여러 기준으로 정렬하기

엑셀 / 오름차순 정렬하기, 내림차순 정렬하기, 여러 기준으로 정렬하기

오름차순·내림차순과 여러 정렬 기준을 설정하는 방법을 설명합니다. 범위 확장과 머리글·숫자 형식을 확인해 행의 데이터 관계가 깨지지 않도록 안내합니다.

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

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

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

엑셀 / 함수 / SUMSQ / 제곱의 합 구하는 함수

엑셀 / 함수 / SUMSQ / 제곱의 합 구하는 함수

SUMSQ로 여러 수의 제곱합을 구하는 구문과 범위 예제를 안내합니다. 합의 제곱과의 차이, 통계의 편차 제곱합과의 구분도 설명합니다.