• 최초 작성일: 2026-07-05
  • 최종 수정일: 2026-07-05
  • 조회수: 563 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 엑셀 정규표현식? 이제 손으로 데이터 안 다듬어도 됩니다 | REGEX 함수 3형제

들어가기 전에

전화번호가 입력된 데이터를 열었는데, 어떤 건 괄호가 있고, 어떤 건 하이픈으로 구분돼 있고, 심지어 점(.)이나 공백으로 나뉜 것들까지 뒤섞여 있던 경험, 한 번쯤 있으시죠? 이런 데이터를 사람이 일일이 눈으로 보며 고치려면 정신이 아득해집니다. 데이터가 많아질수록 실수가 생길 가능성도 그만큼 높아집니다.

엑셀 정규표현식 REGEX 함수 REGEXEXTRACT REGEXREPLACE REGEXTEST
아이엑셀러: 엑셀 정규표현식, 이제 손으로 데이터 안 다듬어도 됩니다

2024년 무렵 엑셀에 도입된 강력한 함수, REGEX 함수 3형제를 소개합니다. 기존 문자열 함수가 '위치값'을 지정하는 방식이라면, REGEX 함수는 "이런 모양의 텍스트를 찾아"라고 패턴을 알려주는 방식이라, 형식이 제각각인 데이터도 처리할 수 있습니다. 형태가 조금 생소할 수 있지만, 처음 보시는 분들도 따라올 수 있도록 최대한 자세히 풀어가겠습니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


'예제 파일'을 열어두고 함께 따라하세요(전체 대상 강의 영상 공개: 2026-07-05 17:00).
예제 파일 내려받기 (무료)
아래 텍스트는 실제 영상 내용과 차이가 있을 수 있으니 보다 정확한 내용은 영상으로 확인하시기 바랍니다.

엑셀 정규표현식? 이제 손으로 데이터 안 다듬어도 됩니다 | REGEX 함수 3형제

표준화가 안 된 전화번호 데이터를 떠올려 보세요. 괄호, 하이픈, 점, 공백이 제멋대로 섞여 있는 데이터에서 지역번호만 뽑거나, 숫자만 남기거나, 형식이 맞는지 검사하려면 기존 문자열 함수로는 답이 안 나옵니다. LEFT·MID·SUBSTITUTE 같은 함수는 '몇 번째 글자'라는 위치를 기준으로 동작하기 때문입니다.

이럴 때 진가를 발휘하는 것이 정규표현식(Regular Expression), 줄여서 REGEX입니다. 위치가 아니라 '패턴'으로 텍스트를 다루기 때문에, 표기가 들쭉날쭉한 데이터도 규칙만 알려주면 한 번에 처리할 수 있습니다. 오늘은 그 핵심인 REGEXEXTRACT(추출), REGEXREPLACE(치환), REGEXTEST(검사) 세 함수를 살펴봅니다.

이번 영상에서 습득할 수 있는 주요 내용

  • 양식이 제각각인 텍스트에서 원하는 부분만 추출하는 REGEXEXTRACT 활용법
  • 패턴에 맞는 부분을 찾아 통째로 바꾸는 REGEXREPLACE로 숫자만 남기기
  • 데이터가 정해진 형식에 맞는지 TRUE/FALSE로 검증하는 REGEXTEST 활용법
  • 복잡한 정규식을 AI로 자동 생성하고, REGEX 함수가 없는 구버전에서 대처하는 법 (멤버십 전용 풀 버전)
파워툴스 누적 다운로드 26,276회+ 무료로 받기
파워툴스 for Excel 로고

🚀 파워툴스 마스터클래스

엑셀 도구를 '쓰는 사람'에서 '만드는 사람'으로!

25년 경력 Microsoft Excel MVP가, AI에게 말로 지시해 나만의 엑셀 자동화 도구를 만들고 배포하는 방법을 처음부터 끝까지 공개합니다.

  • AI에게 지시해 원하는 기능을 만드는 '엑셀 바이브 코딩'
  • 전통적인 VBA 지식 없이 바로 시작 가능
  • 15개 레슨 + 예제/실습 파일 제공
무료 1강 보기 전체 강의 안내

1. REGEXEXTRACT — 원하는 부분만 추출하기

첫 번째는 REGEXEXTRACT입니다. 이름 그대로 텍스트에서 패턴에 맞는 부분을 '추출'해주는 함수입니다.

D열에 전화번호가 있는데, 지역번호가 자릿수도 다르고 표기도 제각각입니다. 서울은 02, 경기는 031처럼 앞자리가 2개일 수도 3개일 수도 있고, 괄호로 감싼 것도 마침표로 구분된 것도 있죠. 이렇게 제각각인 데이터에서 순수한 지역번호만 뽑아내는 수식은 다음과 같습니다.

E2: =REGEXEXTRACT(D2, "^\(?(\d{2,3})\)?[-.\s]?", 2)

이게 뭔 외계어인가 싶으시죠? 처음 접하는 패턴이라 그렇습니다. 두 번째 인수인 패턴을 앞에서부터 끊어서 분석해 보겠습니다.

  • ^ — 문자열의 맨 처음부터 보겠다는 뜻입니다.
  • \(? — 여는 괄호 '('가 있어도 되고 없어도 된다는 뜻입니다. 괄호는 정규식에서 특수문자라, 진짜 괄호 문자를 찾으려면 앞에 \를 붙여 "특수 기능이 아니라 그냥 괄호 문자"임을 알려줍니다. 뒤의 ?는 "있어도 되고 없어도 된다"는 의미입니다.
  • (\d{2,3})\d는 숫자 하나, {2,3}은 그 숫자가 2~3개 올 수 있다는 뜻입니다. 괄호로 감싸 지역번호 부분만 따로 표시했습니다.
  • \)? — 닫는 괄호 ')'도 있어도 되고 없어도 된다는 뜻입니다.
  • [-.\s]? — 대괄호는 "이 안의 문자 중 하나"라는 뜻이라, 하이픈(-)·점(.)·공백(\s) 중 아무거나 하나가 와도 된다는 의미입니다. (참고로 대괄호 에서 .은 '아무 문자나 하나'를 뜻하지만, 대괄호 에서는 그냥 마침표 문자로 취급됩니다.) 마지막 ? 덕분에 구분자가 아예 없는 경우까지 처리됩니다.

여기서 세 번째 인수 2가 핵심입니다. 이 인수는 "결과를 어떤 방식으로 돌려줄지" 정하는 옵션인데, 지정하지 않으면(기본값 0) 패턴 전체에 일치한 문자열, 즉 괄호와 구분자까지 포함한 덩어리가 통째로 반환됩니다. 우리가 원하는 건 그중 지역번호뿐이죠. 그래서 앞서 (\d{2,3})을 괄호로 감싸 '캡처 그룹'으로 표시해 둔 것입니다. '캡처 그룹'이란 전체 문자열 중 내가 필요한 부분에만 "형광펜 표시"를 해두는 것이라고 생각하면 쉽습니다. 이렇게 표시해 둔 캡처 그룹만 꺼내오려면, 세 번째 인수에 2를 지정해 "캡처 그룹을 돌려줘"라고 알려줘야 합니다.

ENTER를 누르고 아래로 채우면, 구분자가 무엇이든 자릿수가 2개든 3개든 상관없이 지역번호만 정확히 추출됩니다.

2. REGEXREPLACE — 패턴을 찾아 통째로 바꾸기

두 번째는 REGEXREPLACE입니다. 패턴에 맞는 부분을 찾아 원하는 값으로 바꿔주는 함수입니다. C열의 연락처 형식이 제각각일 때, 숫자가 아닌 문자를 모두 제거해 순수한 숫자만 남기는 수식을 작성하면 이런 형태가 됩니다.

F2: =REGEXREPLACE(C2, "[^0-9]", "")

인수는 "어디서", "어떤 모양을 찾아서", "무엇으로 바꿀지" 세 개입니다. 두 번째 인수 [^0-9]를 뜯어보겠습니다.

  • [ ] — "이 안의 문자 중 하나"라는 뜻입니다. [0-9]라고만 쓰면 "0~9 숫자 중 하나"를 의미합니다.
  • ^ — 대괄호 안쪽 맨 앞에 오는 ^는 "반대(부정)"를 뜻합니다. 그래서 [^0-9]는 "숫자가 아닌 문자"가 됩니다.

여기서 꼭 짚어둘 점이 있습니다. 앞선 REGEXEXTRACT에서 본 ^와 쓰임이 완전히 다릅니다. ^가 대괄호 밖에 있으면 '문자열의 시작'을, 대괄호 안 맨 앞에 있으면 '반대(부정)'를 의미합니다. 같은 기호인데 위치에 따라 뜻이 달라지니 헷갈리지 않도록 기억해 두세요.

세 번째 인수는 큰따옴표 두 개("")뿐인 '빈 문자열'로, "지워버려라"라는 뜻입니다. 전체적으로 "숫자가 아닌 문자를 전부 찾아 지우고 숫자만 남겨라"가 됩니다. SUBSTITUTE로도 가능하지만, 지울 문자마다 함수를 여러 겹 중첩해야 해서 훨씬 번거롭습니다. 이 수식 하나면 원래 형식이 무엇이든 깔끔하게 숫자만 남습니다.

3. REGEXTEST — 형식이 맞는지 검사하기

세 번째는 REGEXTEST 함수입니다. 텍스트가 패턴에 맞는지 TRUE 또는 FALSE로 알려줍니다.

E2: =REGEXTEST(B2, "^[A-Z]{3}[0-9]{4}$")

두 번째 인수 ^[A-Z]{3}[0-9]{4}$를 순서대로 보겠습니다.

  • ^ — 대괄호 밖에 있으므로 "문자열의 맨 처음"을 가리킵니다.
  • [A-Z] — 영어 대문자 한 글자입니다. 소문자는 해당되지 않으니 유의하세요.
  • {3} — 바로 앞의 것이 정확히 3번 반복, 즉 "대문자 3개 연속"입니다.
  • [0-9] — 숫자 한 글자입니다.
  • {4} — 정확히 4번 반복, 즉 "숫자 4개 연속"입니다.
  • $ — "문자열의 맨 끝"을 가리킵니다. 여기서 검사가 끝나야 한다는 표시입니다.

전체적으로 해석하면 "문자열이 시작하자마자 대문자 3개와 숫자 4개가 오고, 그걸로 끝나야 한다"가 됩니다. 조건에 맞으면 TRUE, 자릿수가 안 맞으면 FALSE가 표시됩니다. 이 결과를 조건부 서식에 적용하면 형식이 잘못된 데이터만 자동으로 서식이 적용되므로 눈에 확 들어옵니다. 데이터를 다른 시스템에 넘기기 전에 미리 걸러내는 검증 단계로 아주 유용합니다.

잠깐 — 개수를 정하는 기호 정리
세 함수를 지나오며 ?, {2,3}, {3}, {4} 같은 기호가 등장했습니다. 낯설어 보이지만 사실 모두 '바로 앞의 한 글자(또는 그룹)가 몇 번 나올지'를 정하는 같은 종류의 기호입니다. ?는 0~1번(있어도 없어도), {3}은 정확히 3번, {2,3}은 2~3번, {4}는 정확히 4번. 이 셋을 한 묶음으로 기억해 두면 처음 보는 정규식도 한결 잘 읽힙니다.

4. 구버전 엑셀이라면? — AI 활용은 멤버십 풀 버전에서

여기까지 추출·치환·검사 세 함수를 익히셨습니다. 그런데 이 REGEX 함수 3형제는 Microsoft 365 최신 버전에서만 지원됩니다. "내 엑셀엔 이 함수가 안 보이는데요?" 하시는 분들은 어떻게 해야 할까요?

정답은 AI 활용입니다. 구버전이라 REGEX 함수가 없어도 AI를 이용하면 똑같은 결과를 만들 수 있습니다. 뿐만 아니라 REGEX 함수를 쓸 수 있는 분들도, 복잡한 정규식 패턴을 직접 작성하느라 애쓸 필요 없이 AI에게 자연어로 설명해 손쉽게 만들 수 있습니다. 이메일 검증처럼 정규식이 몇 줄씩 길어지는 실무 상황과, 구버전에서 VBA의 RegExp 개체로 우회하는 방법까지 멤버십 회원 전용 풀 버전에서 단계별로 시연해 드립니다.

강의에서 사용한 프롬프트와 AI가 생성한 코드는 멤버십 회원용 예제 파일에 수록되어 있습니다. 이와 관련해서는 풀 버전 영상 댓글란에 안내되어 있습니다.

멤버십 회원 전용 강의 (풀 버전)

실무에서 사람을 가장 많이 가로막는 건 함수의 '개념'이 아니라, 정규식이 몇 줄씩 길어지는 복잡한 패턴REGEX 함수 자체가 없는 구버전 환경입니다. 이런 경우에 대한 대처가 빠지면, 결국 복잡한 데이터 앞에서 다시 손으로 다듬는 옛날 방식으로 되돌아가게 됩니다.

풀 버전 강의에서는 멀티 모달을 적용하여 AI로 복잡한 정규식을 생성하는 법, REGEX 함수가 없는 구버전에서 대처하는 방법을 시연합니다. 엑셀 최신 버전이 아니라고 아쉬워할 필요가 없습니다.

멤버십 혜택 안내

함수 사용법을 넘어, 'AI로 복잡한 정규식을 생성하고, 구버전은 VBA로 우회하는 전체 실습 과정'을 풀 버전 강의로 제공합니다. 어떤 엑셀 버전이든, 아무리 복잡한 패턴이든 당황하지 않고 해결할 수 있는 그 차이를, '엑셀러TV 멤버십'과 함께하세요!

[풀 버전] 영상 보러 가기 멤버십 회원에게 제공되는 더 많은 혜택이 궁금하신가요? 멤버십 혜택 보기

MVP TIP — REGEX 함수 3형제 200% 활용 전략

1. 대괄호 안팎의 ^를 구분하세요

같은 ^라도 대괄호 에 있으면 '문자열의 시작', 대괄호 안 맨 앞에 있으면 '부정(반대)'을 뜻합니다. 이 하나만 헷갈리지 않아도 정규식 해석이 훨씬 수월해집니다.

2. 캡처 그룹은 세 번째 인수와 짝입니다

REGEXEXTRACT에서 괄호로 캡처 그룹을 만들었다면, 세 번째 인수에 2를 지정해야 그 부분만 반환됩니다. 지정하지 않으면 패턴에 일치한 전체가 통째로 나온다는 점을 기억하세요.

3. ?·{n}·{n,m}은 모두 '개수를 정하는 기호'입니다

바로 앞 한 글자(또는 그룹)가 몇 번 나올지를 정합니다. ?는 0~1번(있어도 없어도), {3}은 정확히 3번, {2,3}은 2~3번입니다. 이 셋을 한 묶음으로 기억하면 낯선 정규식도 훨씬 잘 읽힙니다.

자주 묻는 질문 (FAQ)

Q1. REGEX 함수 3형제는 어떤 엑셀 버전부터 쓸 수 있나요?

REGEXEXTRACT·REGEXREPLACE·REGEXTEST는 Microsoft 365에서 지원되며, 최신 버전으로 업데이트해야 사용할 수 있습니다. 구독형이 아닌 영구 라이선스 버전이나 구버전에서는 보이지 않으니, 최신 버전으로 준비하세요.

Q2. 대괄호 안의 ^와 밖의 ^는 무엇이 다른가요?

대괄호 밖에 있는 ^는 '문자열의 시작'을 의미하고, 대괄호 안 맨 앞에 있는 ^는 '부정(~이 아닌)'을 의미합니다. 예를 들어 [^0-9]는 "숫자가 아닌 문자"를 뜻합니다. 같은 기호지만 위치에 따라 뜻이 완전히 달라집니다.

Q3. REGEXEXTRACT의 세 번째 인수 2는 무슨 뜻인가요?

결과를 어떤 방식으로 돌려줄지 정하는 옵션입니다. 지정하지 않으면(기본값 0) 패턴에 일치한 전체 문자열이 반환되고, 1을 넣으면 일치하는 모든 항목이, 2를 넣으면 괄호로 감싼 '캡처 그룹' 부분이 반환됩니다. 필요한 조각만 골라 뽑을 때는 캡처 그룹으로 표시한 뒤 2를 지정하면 됩니다.

Q4. 제 엑셀엔 REGEX 함수가 없는데, 방법이 없을까요?

있습니다. VBA에는 예전부터 정규식을 처리하는 RegExp 개체가 있어서, 이를 활용한 사용자 지정 함수를 만들면 REGEX 함수와 같은 결과를 얻을 수 있습니다. 코드를 직접 짤 필요 없이 AI에게 요청해 만드는 전 과정은 멤버십 전용 풀 버전 강의에서 단계별로 시연해 드립니다.

마치며

양식이 통일 안 된 데이터터는 실무에서 흔히 겪게 되는 골치아픈 문제 중 하나입니다. 오늘 소개해 드린 REGEXEXTRACT·REGEXREPLACE·REGEXTEST를 제대로 활용하면 그동안 수작업으로 처리하던 데이터 정리를 수식 한 줄로 끝낼 수 있게 됩니다.

여기에 AI로 복잡한 정규식을 생성하고 구버전을 VBA로 우회하는 방법까지 더하면, 어떤 환경에서도 막힘이 없습니다. 지금 바로 예제 파일을 열어, 전화번호 데이터에 REGEXEXTRACT를 적용해 보는 것부터 시작해 보세요. '손으로 다듬던 노동'이 '수식 한 줄'로 바뀌는 순간을 직접 경험하시게 될 겁니다.