구글 스프레드시트 REGEXREPLACE 함수 사용법: 숫자만 남기기·공백 정리·#VALUE! 해결

구글 스프레드시트에서 문자열 속 불필요한 문자를 모두 지우거나 다른 문자로 통일하려면 REGEXREPLACE 함수를 사용합니다.
숫자가 아닌 문자를 제거하면 주문번호의 숫자만 남길 수 있고, 반복 공백이나 여러 구분자도 한 번에 정리할 수 있습니다.
먼저 바꿀 패턴과 남길 결과를 정하세요. 셀 값이 숫자 형식이면 TEXT로 변환하고, #VALUE!가 보이면 입력 형식과 RE2에서 지원하는 패턴인지 확인하면 됩니다.
한눈에 보기
- 모든 숫자가 아닌 문자 삭제:
[^0-9]를 빈 문자열로 대체 - 반복 공백 정리:
\s+를 공백 한 칸으로 대체한 뒤TRIM - 구분자 통일: 점·공백·하이픈 묶음을 하이픈 하나로 대체
- 숫자형 셀 입력:
TEXT(A2,"0")처럼 먼저 텍스트로 변환 - 결과 형식: REGEXREPLACE의 반환값은 텍스트
REGEXREPLACE가 결과를 만드는 방식
REGEXREPLACE는 원본 텍스트에서 정규식과 일치하는 부분을 모두 찾아 지정한 텍스트로 바꿉니다.
=REGEXREPLACE(텍스트, 정규_표현식, 대체_텍스트)
대체 텍스트를 ""로 두면 일치 부분이 삭제됩니다. 패턴에 맞는 부분이 없으면 오류 대신 원문이 그대로 남습니다.

REGEXEXTRACT·SUBSTITUTE·TRIM 중 무엇을 고를까
선택 기준은 원하는 결과가 추출인지, 패턴 치환인지, 고정 문구 교체인지입니다. 비슷해 보여도 바꾸는 범위가 다릅니다.
| 목적 | 추천 함수 | 선택 이유 |
|---|---|---|
| 패턴과 맞는 모든 부분 바꾸기 | REGEXREPLACE | 여러 문자·구분자를 한 규칙으로 치환 |
| 첫 번째 일치 부분 가져오기 | REGEXEXTRACT | 원문에서 필요한 한 부분을 추출 |
| 정확히 같은 고정 문구 바꾸기 | SUBSTITUTE | 정규식 없이 특정 문자열 교체 |
| 앞뒤·반복 일반 공백 정리 | TRIM | 단어 사이 공백 한 칸 유지 |
여러 위치의 숫자를 모두 남겨 하나로 합쳐야 한다면 첫 일치만 가져오는 REGEXEXTRACT보다 비숫자를 지우는 REGEXREPLACE가 맞습니다.
숫자만 남기고 특정 문자를 제거하기
숫자가 아닌 모든 문자를 지우려면 부정 문자 클래스 [^0-9]를 빈 문자열로 바꿉니다.
=REGEXREPLACE(A2,"[^0-9]","")
A2가 주문 AB-2048 / 완료이면 결과는 2048입니다. 결과는 숫자처럼 보여도 텍스트이므로 주문번호·전화번호처럼 앞자리 0을 보존해야 하는 식별값에 알맞습니다.
영문자만 지우려면 [A-Za-z], 숫자와 영문자를 제외한 문자만 지우려면 [^0-9A-Za-z]처럼 남길 범위를 패턴으로 정할 수 있습니다. 한글을 유지해야 한다면 \w에 의존하지 말고 실제로 허용할 문자 범위를 따로 설계하세요.
반복 공백을 한 칸으로 정리하기
여러 칸의 공백·탭·줄바꿈을 공백 한 칸으로 줄이려면 \s+를 사용하고, 앞뒤 공백은 바깥의 TRIM으로 제거합니다.
=TRIM(REGEXREPLACE(A3,"\s+"," "))
A3가 서울 영업 1팀 이면 결과는 서울 영업 1팀입니다. 일반 공백이 아니라 웹에서 복사된 줄바꿈 없는 공백 같은 유니코드 문자는 이 패턴에 포함되지 않을 수 있습니다.

전화번호와 여러 구분자를 하나로 통일하기
점·공백·하이픈이 섞인 전화번호를 하이픈 하나로 통일하려면 세 문자의 연속 묶음을 한 번에 찾습니다.
=REGEXREPLACE(A4,"[-. ]+","-")
A4가 010.1234 5678이면 010-1234-5678로 정리됩니다. 이 수식은 구분자만 통일하며 전화번호 자릿수나 유효성은 검사하지 않습니다.
#VALUE!가 나오면 숫자 입력부터 복구하기
REGEXREPLACE는 텍스트를 입력받고 텍스트를 반환합니다. 숫자형 셀을 그대로 넣어 #VALUE!가 나오면 TEXT로 먼저 바꾸세요.
=REGEXREPLACE(TEXT(A5,"0"),"[^0-9]","")
A5가 숫자 12345이면 결과는 텍스트 12345입니다. 결과를 계산에 써야 할 때만 VALUE로 다시 숫자로 바꿉니다.
=VALUE(REGEXREPLACE(A2,"[^0-9]",""))
원문에 숫자가 없으면 REGEXREPLACE 결과가 빈 문자열이 되고 VALUE에서 오류가 날 수 있습니다. 또한 숫자로 변환하면 앞자리 0이 없어지므로 금액·수량처럼 실제 계산값에만 적용하세요.
RE2에서 안 되는 패턴 확인하기
Google 스프레드시트 정규식은 RE2 문법을 사용합니다. 다른 정규식 도구에서 가져온 패턴이 작동하지 않으면 아래 제한부터 확인하세요.
- 전방 탐색
(?=...)·(?!...)과 후방 탐색(?<=...)·(?<!...)은 지원하지 않습니다. - 정규식 패턴 안의 역참조
\1은 지원하지 않습니다. \d는[0-9],\w는 영문자·숫자·밑줄 기준이므로 한글까지 포함한다고 가정하면 안 됩니다.- Google 스프레드시트는 RE2의 유니코드 문자 클래스 비교를 지원하지 않습니다.
- 점 자체를 찾을 때는 모든 문자를 뜻하는
.대신\.또는[.]을 사용합니다.
지원하지 않는 탐색 문법이 필요해 보이면 한 수식에 억지로 넣기보다 보조 열로 전처리하거나 REGEXEXTRACT와 조건 함수를 나눠 쓰는 편이 안전합니다.
공식 도움말과 다음 작업
- Google Docs 편집기 고객센터 REGEXREPLACE 도움말
- Google Docs 편집기 고객센터 TEXT 함수 도움말
- Google Docs 편집기 고객센터 VALUE 함수 도움말
- Google Docs 편집기 고객센터 TRIM 함수 도움말
- Google RE2 정규식 문법
문장에서 첫 번째 주문번호만 가져오려면 REGEXEXTRACT로 일치 문자열을 추출하는 방법을, 구분자를 기준으로 여러 칸에 나누려면 SPLIT으로 텍스트를 분리하는 방법을 이어서 확인할 수 있습니다.
먼저 원문에서 모두 바꿀지, 한 부분만 가져올지 정한 다음 패턴을 가장 짧게 만드세요. #VALUE!가 보이면 패턴보다 입력 셀이 텍스트인지부터 확인하면 됩니다.