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

엑셀 셀에서 영문자만 추출 공식

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

셀에서 한글·숫자·기호를 제외하는 영문자 추출 공식입니다.

엑셀 셀에서 영문자만 추출 공식 예제 미리보기
예제 미리보기 크게 보기

인수 설명

01Excel 2019 이상 공식

{=TEXTJOIN ( "",, IFERROR ( MID ( , ISNUMBER ( FIND ( MID ( , ROW ( INDIRECT ( "1:"&LEN ( ) ) ), 1 ), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ) ) * ROW ( INDIRECT ( "1:"&LEN ( ) ) ), 1 ), "" ) )}
인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
인수구분설명
필수영문자만 추출할 문자열이 입력된 셀입니다.
D2{=TEXTJOIN("",,IFERROR(MID(B2,ISNUMBER(FIND(MID(B2,ROW(INDIRECT("1:"&LEN(B2))),1),"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))*ROW(INDIRECT("1:"&LEN(B2))),1),""))}
A
B
C
D
E
1
번호
원문
영문자만 추출
2
1
가AB나
AB
3
2
Excel 함수 365
Excel
4
3
A-1_B?2
AB
5
4
서울KOREA2026
KOREA
6
5
Price: $25.50
Price
7
6
M365_오빠두
M
8
7
*Q?R*
QR
9
B2 셀의 문자를 하나씩 검사해 영문자인 A와 B만 이어 붙이므로 D2 셀은 "AB"를 반환합니다. FIND 함수로 검사해 *와 ?를 영문자로 잘못 남기지 않습니다. Excel 2019에서는 Ctrl+Shift+Enter로 입력해야 합니다.

02Microsoft 365 공식

=REGEXREPLACE ( , "[^A-Za-z]", "" )
인수 설명 자세히 보기
인수구분설명
필수영문자만 추출할 문자열이 입력된 셀입니다.
D2=REGEXREPLACE(B2,"[^A-Za-z]","")
A
B
C
D
E
1
번호
원문
영문자만 추출
2
1
가AB나
AB
3
2
Excel 함수 365
Excel
4
3
A-1_B?2
AB
5
4
서울KOREA2026
KOREA
6
5
Price: $25.50
Price
7
6
M365_오빠두
M
8
7
*Q?R*
QR
9
REGEXREPLACE 함수가 B2 셀에서 영문자가 아닌 문자를 모두 제거하므로 D2 셀은 "AB"를 반환합니다.
이 공식이 사용하는 함수

동작 원리

01Excel 2019 이상 공식

FIND 함수로 각 문자가 영문자 목록에 있는지 확인하고, TEXTJOIN 함수로 일치하는 문자만 순서대로 연결합니다.

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

1

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

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

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

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

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

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

FIND 함수가 영문자 위치만 남깁니다

FIND 함수는 각 문자를 영문자 목록에서 대소문자를 구분해 찾습니다. ISNUMBER 함수가 일치 여부를 판정한 뒤 순번을 곱해 영문자가 있는 위치만 남깁니다.

=ISNUMBER ( FIND ( MID ( B2, ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) ), 1 ), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ) ) * ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) )
= {0;2;3;0} 영문자 A와 B가 있는 2번째와 3번째 위치만 남습니다.
4

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

MID 함수는 2번째와 3번째 문자인 A와 B를 반환하고, 0번째 위치의 오류는 IFERROR 함수가 빈 문자열로 바꿉니다. TEXTJOIN 함수는 남은 두 문자를 순서대로 연결합니다.

{=TEXTJOIN ( "",, IFERROR ( MID ( B2, ISNUMBER ( FIND ( MID ( B2, ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) ), 1 ), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ) ) * ROW ( INDIRECT ( "1:"&LEN ( B2 ) ) ), 1 ), "" ) )}
= "AB" 영문자 A와 B만 연결한 결과입니다.

댓글 12

댓글 12
5 (7개 평가)
러스티
러스티 2021.11.16 19:51
천재적입니다...
Protoss
Protoss 2021.11.18 22:09
굿굿
조승근
조승근 2021.12.28 12:32
함수 적용했는데 첫 글자만 나오는데 왜그러는지 모르겠네요ㅠㅠ
오빠두엑셀
오빠두엑셀 작성자 2021.12.30 20:51
조승근님 안녕하세요?
댓글만으로는 원인 확인이 어렵고 실제 사용하신 값이나 예제파일을 함께 올려주셔야 답변 드릴 수 있을 듯 합니다.
홈페이지 Q&A 커뮤니티를 통해 다시 글을 올려주시겠어요?^^
감사합니다.
델타
델타 2022.05.23 23:20
함수를 적용해 보니, "이 함수에 대해 너무 많이 인수를 입력했습니다." 라는 오류가 뜹니다. 무엇이 문제일까요? 엑셀 버젼 2016이상입니다.
오빠두엑셀
오빠두엑셀 작성자 2022.05.24 16:21
안녕하세요.
함수에 들어가는 인수의 개수를 초과해서 입력해서 그렇습니다.
게시글에 함께 올려드린 예제파일을 참고하셔서 수식을 다시 작성해보세요.
가을귀
가을귀 2022.09.01 13:34
예제 파일 받고 연습해보려했는데 #NAME? 오류가 떠 있습니다. 왜 그런걸까요..?
오빠두엑셀
오빠두엑셀 작성자 2022.09.01 16:28
안녕하세요.
TEXTJOIN 함수는 엑셀 2019 이후 버전에서만 제공됩니다.
따라서 엑셀 2016 이전 버전을 사용중이실경우,
#NAME? 오류가 발생합니다. :) 감사합니다.
멈뭄미
멈뭄미 2023.11.23 13:46
혹시 동일한 상황에 한글만 추출하고 싶을 경우엔 어떻게 하면 될까요?
오빠두엑셀
오빠두엑셀 작성자 2023.11.25 17:16
안녕하세요.
한글만 추출하는 작업은 함수만으로는 불가능하고 VBA 코드나 정규표현식을 사용해야만 가능합니다.
자세한 내용은 아래 Q&A 커뮤니티 글을 한번 확인해보시겠어요?
https://www.oppadu.com/question/?mod=document&uid=48717
감사합니다.
sonic7
sonic7 2026.06.17 16:47
데이터 E17셀       =TEXTJOIN("",TRUE,FILTER(MID(E17,SEQUENCE(LEN(E17)),1),((UNICODE(MID(E17,SEQUENCE(LEN(E17)),1))>=44032)*(UNICODE(MID(E17,SEQUENCE(LEN(E17)),1))<=55203))))
강민준🤗
강민준🤗 2024.08.11 17:05
좋은 강의 감사합니다🙇‍♂️
스크랩 완료