LEN · FIND · SEARCH로 문자열 분석 끝내기 (위치·개수·N번째 찾기 1분 컷)

LEN · FIND · SEARCH로 문자열 분석 끝내기 (위치·개수·N번째 찾기 1분 컷)

LEN · FIND · SEARCH로 문자열 분석 끝내기 (위치·개수·N번째 찾기 1분 컷)

이메일에서 도메인만 뽑고, 파일명에서 확장자만, 제품코드의 N번째 구분자 위치까지—LEN·FIND·SEARCH 조합이면 다 됩니다.

기본 개념 & 차이

함수형식특징
LEN=LEN(text)문자 개수(공백 포함)를 반환
FIND=FIND(find_text, within_text, [start_num])대소문자 구분, 와일드카드 미지원
SEARCH=SEARCH(find_text, within_text, [start_num])대소문자 무시, * ? 와일드카드 지원

길이 세기 – LEN

예제 1) 공백 포함 길이

=LEN(A2)

예제 2) 앞뒤 공백 제외

=LEN(TRIM(A2))

TIP: NBSP(CHAR(160))는 TRIM으로 지워지지 않을 수 있어 SUBSTITUTE(A2,CHAR(160)," ") 후 LEN을 쓰면 정확합니다.

위치 찾기 – FIND vs SEARCH

예제 3) 이메일에서 @ 위치

=FIND("@", A2)

예제 4) 대소문자 무시 포함 여부

=ISNUMBER(SEARCH("kim", A2))   // 포함이면 TRUE

예제 5) 와일드카드

=ISNUMBER(SEARCH("*.xlsx", A2)) // 확장자가 .xlsx인 파일명

N번째 발생 위치 & 마지막 구분자

예제 6) N번째 하이픈 위치

=FIND("#", SUBSTITUTE(A2, "-", "#", N))

구분자가 N개 미만이면 오류 → IFERROR로 처리:

=IFERROR(FIND("#",SUBSTITUTE(A2,"-","#",N)),0)

예제 7) 마지막 구분자 위치

=FIND("|", SUBSTITUTE(A2,"-","|", LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))

예제 8) 365 간단 버전 (끝에서 찾기)

=TEXTAFTER(A2,"-", -1)   // 마지막 '-' 뒤 텍스트
=TEXTBEFORE(A2,"-", -1)  // 마지막 '-' 앞 텍스트

포함 개수 세기

예제 9) 특정 문자/문자열 등장 횟수

=(LEN(A2)-LEN(SUBSTITUTE(A2, "ab", "")))/LEN("ab")

대소문자 무시:

=(LEN(UPPER(A2))-LEN(SUBSTITUTE(UPPER(A2),"AB","")))/2

원하는 부분 추출 (LEFT/MID/RIGHT · TEXTAFTER/BEFORE)

예제 10) 이메일 도메인

=RIGHT(A2, LEN(A2)-FIND("@",A2))
/* 365 */ =TEXTAFTER(A2,"@")

예제 11) 확장자(. 뒤)

=RIGHT(A2, LEN(A2)-FIND("|",SUBSTITUTE(A2,".","|",LEN(A2)-LEN(SUBSTITUTE(A2,".","")))))
/* 365 */ =TEXTAFTER(A2,".",-1)

예제 12) 중간 코드(두 하이픈 사이)

=MID(A2, FIND("-",A2)+1, FIND("-",A2,FIND("-",A2)+1)-FIND("-",A2)-1)
/* 365 */ =TEXTSPLIT(A2,"-")(1,2)

자주 하는 실수 & 성능 팁

  • #VALUE! 오류 → 찾는 텍스트가 없을 수 있으니 IFERROR로 감싸거나 기본값 제공.
  • NBSP/줄바꿈SUBSTITUTE(,CHAR(160)," "), SUBSTITUTE(,CHAR(10)," ")로 정리 후 검색.
  • 성능 → 동일한 LEN(A2) 등은 LET으로 재사용, 전체열 참조(X:X) 지양.
  • 대소문자 요구 → 엄격 비교는 FIND, 느슨한 비교는 SEARCH.

요약 정리

목표대표 공식
길이LEN(A2), 공백 정리 후 LEN(TRIM(...))
포함 여부ISNUMBER(SEARCH("키워드",A2))
N번째 위치FIND("#",SUBSTITUTE(A2,"-","#",N))
마지막 뒤 텍스트TEXTAFTER(A2,"-",-1) 또는 SUBSTITUTE 응용식

FAQ

FIND가 검색을 못 찾으면 왜 오류가 나나요?

반환형이 위치(숫자)라서 미발견 시 #VALUE!가 납니다. IFERROR(FIND(...),0)처럼 기본값을 두세요.

한글/영문 섞인 문자열에서도 LEN은 정확한가요?

네, LEN은 ‘문자 수’를 반환합니다. 바이트 기준 계산이 필요할 때만 LENB를 사용하세요.

지금 다루는 데이터에서 “마지막 구분자 뒤 텍스트”를 한 번만 뽑아보세요. LEN·FIND·SEARCH 조합이 익숙해지면, 정제와 분리는 순식간입니다.

Leave a Reply

Your email address will not be published. Required fields are marked *