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

엑셀 지정 문자 제외 공식

2019
지원 버전 자세히 보기
엑셀 2019엑셀 2021엑셀 2024M365웹 엑셀

셀에서 지정한 문자만 제외하는 공식입니다.

엑셀 지정 문자 제외 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01Excel 2019 이상 공식

{=TEXTJOIN ( "",, IFERROR ( MID ( , NOT ( ISNUMBER ( FIND ( MID ( , ROW ( INDIRECT ( "1:"&LEN ( ) ) ), 1 ), 제외문자 ) ) ) * ROW ( INDIRECT ( "1:"&LEN ( ) ) ), 1 ), "" ) )}
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
필수문자를 제외할 원본 문자열이 입력된 셀입니다.
제외문자필수원본에서 제거할 문자를 이어서 입력한 셀입니다. 대소문자를 구분해 정확히 일치하는 문자만 제외합니다.
E2{=TEXTJOIN("",,IFERROR(MID(B2,NOT(ISNUMBER(FIND(MID(B2,ROW(INDIRECT("1:"&LEN(B2))),1),C2)))*ROW(INDIRECT("1:"&LEN(B2))),1),""))}
A
B
C
D
E
F
1
번호
원문
제외문자
지정 문자 제외
2
1
A-1_B?2
-?
A1_B2
3
2
서울,부산/대구
,/
서울부산대구
4
3
ID-2026-0810
-
ID20260810
5
4
AB_cd-12
_-
ABcd12
6
5
(Excel) 함수
()
Excel 함수
7
6
사과★배★귤
사과배귤
8
7
Q?R*S!
?*!
QRS
9
C2 셀에 적은 -와 ?를 B2 셀에서 제외하므로 E2 셀은 "A1_B2"를 반환합니다. Excel 2019에서는 Ctrl+Shift+Enter로 입력해야 합니다.

02Excel 2021 이상 공식

=LET ( chars, MID ( , SEQUENCE ( LEN ( ) ), 1 ), TEXTJOIN ( "",, FILTER ( chars, ISERROR ( FIND ( chars, 제외문자 ) ), "" ) ) )
인수 설명 자세히 보기
인수구분설명
필수문자를 제외할 원본 문자열이 입력된 셀입니다.
제외문자필수원본에서 제거할 문자를 이어서 입력한 셀입니다. 대소문자를 구분해 정확히 일치하는 문자만 제외합니다.
E2=LET(chars,MID(B2,SEQUENCE(LEN(B2)),1),TEXTJOIN("",,FILTER(chars,ISERROR(FIND(chars,C2)),"")))
A
B
C
D
E
F
1
번호
원문
제외문자
지정 문자 제외
2
1
A-1_B?2
-?
A1_B2
3
2
서울,부산/대구
,/
서울부산대구
4
3
ID-2026-0810
-
ID20260810
5
4
AB_cd-12
_-
ABcd12
6
5
(Excel) 함수
()
Excel 함수
7
6
사과★배★귤
사과배귤
8
7
Q?R*S!
?*!
QRS
9
LET 함수가 B2 셀의 문자를 배열로 나누고 C2 셀에서 찾을 수 없는 문자만 모으므로 E2 셀은 "A1_B2"를 반환합니다.
이 공식이 사용하는 함수

동작 원리

01Excel 2019 이상 공식

FIND 함수로 제외할 문자의 위치를 찾고, NOT 함수로 판정을 뒤집어 제외 목록에 없는 문자만 연결합니다.

Excel 2019 이상 공식의 예제 시트에서 E2 셀이 "A1_B2"를 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

ROW 함수가 문자 위치 순번을 만듭니다

LEN 함수는 B2 셀의 글자 수 7을 계산하고, INDIRECT 함수와 ROW 함수는 1부터 7까지의 세로 배열을 만듭니다.

=ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) )
= {1;2;3;4;5;6;7} B2 셀의 각 문자 위치입니다.
2

MID 함수가 문자를 한 글자씩 나눕니다

MID 함수는 위치 순번을 시작 위치로 사용해 B2 셀의 문자를 한 글자씩 분리합니다.

=MID ( B2, ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) ), 1 )
= {"A";"-";"1";"_";"B";"?";"2"} B2 셀을 한 글자씩 나눈 세로 배열입니다.
3

NOT 함수가 제외할 위치를 뒤집습니다

FIND 함수는 C2 셀의 제외 목록에서 -와 ?를 찾습니다. ISNUMBER 함수의 결과를 NOT 함수로 뒤집은 뒤 순번을 곱해 남길 문자의 위치만 유지합니다.

=NOT ( ISNUMBER ( FIND ( MID ( B2, ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) ), 1 ), C2 ) ) ) * ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) )
= {1;0;3;4;5;0;7} 제외할 -와 ?의 위치는 0이 되고 나머지 위치만 남습니다.
4

IFERROR 함수와 TEXTJOIN 함수가 결과를 합칩니다

MID 함수는 0번째 위치에서 발생한 오류를 제외하고 남길 문자를 반환합니다. IFERROR 함수가 오류를 빈 문자열로 바꾸면 TEXTJOIN 함수가 나머지 문자를 순서대로 연결합니다.

{=TEXTJOIN ( "",, IFERROR ( MID ( B2, NOT ( ISNUMBER ( FIND ( MID ( B2, ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) ), 1 ), C2 ) ) ) * ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) ), 1 ), "" ) )}
= "A1_B2" -와 ?를 제외한 결과입니다.

02Excel 2021 이상 공식

LET 함수가 문자 배열을 저장하고, FILTER 함수는 제외 목록에 없는 문자만 남겨 TEXTJOIN 함수로 연결합니다.

Excel 2021 이상 공식의 예제 시트에서 E2 셀이 "A1_B2"를 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.

1

SEQUENCE 함수와 MID 함수가 문자 배열을 만듭니다

SEQUENCE 함수는 B2 셀의 글자 수만큼 위치 순번을 만들고 MID 함수는 각 위치의 문자를 분리합니다. LET 함수는 이 배열을 chars 이름에 저장합니다.

=LET ( chars, MID ( B2, SEQUENCE ( LEN ( B2 ) ), 1 ), chars )
= {"A";"-";"1";"_";"B";"?";"2"} chars 이름에 저장된 세로 배열입니다.
2

FIND 함수가 제외 목록에 없는 문자를 표시합니다

FIND 함수는 chars 배열의 각 문자를 C2 셀에서 찾습니다. 찾지 못한 문자는 오류가 되므로 ISERROR 함수가 남길 위치를 TRUE로 표시합니다.

=LET ( chars, MID ( B2, SEQUENCE ( LEN ( B2 ) ), 1 ), ISERROR ( FIND ( chars, C2 ) ) )
= {TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE} -와 ?만 FALSE이고 나머지 문자는 TRUE입니다.
3

FILTER 함수가 남길 문자만 추립니다

FILTER 함수는 TRUE인 위치의 문자만 chars 배열에서 골라 원래 순서대로 반환합니다.

=LET ( chars, MID ( B2, SEQUENCE ( LEN ( B2 ) ), 1 ), FILTER ( chars, ISERROR ( FIND ( chars, C2 ) ), "" ) )
= {"A";"1";"_";"B";"2"} 제외 목록에 없는 다섯 문자입니다.
4

TEXTJOIN 함수가 남은 문자를 연결합니다

TEXTJOIN 함수는 FILTER 함수가 반환한 다섯 문자를 빈 구분자로 이어 최종 문자열을 만듭니다.

=LET ( chars, MID ( B2, SEQUENCE ( LEN ( B2 ) ), 1 ), TEXTJOIN ( "",, FILTER ( chars, ISERROR ( FIND ( chars, C2 ) ), "" ) ) )
= "A1_B2" -와 ?를 제외한 결과입니다.

댓글 0

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