구글 스프레드시트 REGEXEXTRACT 사용법: 주문번호 추출·#N/A 해결

문장 안에서 규칙이 일정한 주문번호만 꺼내려면 REGEXEXTRACT를 사용합니다. A2에 서울 / ORD-2026-0017 / 결제완료가 있다면 아래 수식은 ORD-2026-0017을 반환합니다.

기본 구조는 =REGEXEXTRACT(텍스트, 정규식)입니다. 한 셀에 같은 형식의 코드가 여러 개 있어도 첫 번째로 일치한 부분을 반환하므로, 추출 대상의 시작 문자·자릿수·끝 경계를 패턴에 함께 적어야 합니다.

일치하는 부분이 없으면 #N/A가 나타납니다. 숫자 셀을 텍스트로 바꾸지 않고 넣으면 #VALUE!가 생길 수 있으므로, 오류를 가리기 전에 입력 형식과 패턴을 먼저 구분하세요.

구글 스프레드시트에서 REGEXEXTRACT로 주문번호를 추출하는 화면

먼저 고를 방식

REGEXEXTRACT는 언제 쓰나요?

원문 셀은 그대로 두고 일정한 패턴에 맞는 첫 문자열만 별도 열에 꺼낼 때 적합합니다. 주문 메모에서 주문번호를 뽑거나, 상품 설명에서 규격 코드를 분리하거나, 결제 문구에서 숫자를 꺼내는 작업이 여기에 해당합니다.

하려는 일권장 방법결과
문장 속 주문번호 한 개REGEXEXTRACT일치 문자열
조건에 맞는 행 목록FILTER여러 행
필요한 열과 정렬을 포함한 표QUERY가공된 범위

REGEXEXTRACT는 원문을 바꾸지 않습니다. 결과 열을 따로 두면 패턴을 수정하거나 오류 행만 검토해도 원본 메모는 남습니다.

기본 수식은 어떻게 읽나요?

구문은 텍스트와 정규식 두 인수로 구성됩니다.

=REGEXEXTRACT(A2,"ORD-[0-9]{4}-[0-9]{4}")
패턴
ORD-고정 문자
[0-9]{4}숫자 네 자리
-하이픈 한 개
[0-9]{4}마지막 숫자 네 자리

Google Sheets의 정규식은 RE2 문법을 사용하며 유니코드 문자 클래스 일치는 지원하지 않습니다. 주문번호처럼 영문 고정 문자와 ASCII 숫자 범위를 명시하면 파일 언어나 표시 형식에 덜 의존합니다.

주문번호를 어떻게 추출하나요?

A열에 원문, B열에 추출값을 두고 B2에 수식을 입력합니다. 아래로 복사하면 같은 규칙을 각 행에 적용할 수 있습니다.

원문기본 추출 결과판단
서울 / ORD-2026-0017 / 결제완료ORD-2026-0017규칙 일치
대전 / 주문번호 없음 / 문의#N/A일치 없음
인천 / ORD-2026-22001 / 오입력ORD-2026-2200부분 일치 위험
ORD-2026-0008 재주문 ORD-2026-0009ORD-2026-0008첫 일치만 반환

첫 두 행은 의도대로 구분되지만, 뒷번호가 다섯 자리인 행은 기본 패턴이 앞 네 자리까지만 잘라낼 수 있습니다. 코드 길이가 검증 조건이라면 다음 문자까지 확인해야 합니다.

5자리 오입력을 부분 일치로 잘라내지 않으려면?

코드 뒤가 숫자가 아니거나 문자열 끝일 때만 인정하도록 경계를 추가합니다. 첫 괄호는 반환할 주문번호를 묶고, (?:[^0-9]|$)는 다음 문자가 숫자가 아니거나 끝인지 확인합니다.

=REGEXEXTRACT(A2,"(ORD-[0-9]{4}-[0-9]{4})(?:[^0-9]|$)")

이 패턴은 ORD-2026-0017은 그대로 반환하지만 ORD-2026-22001은 일치시키지 않습니다. RE2가 지원하지 않는 전방탐색을 쓰지 않고, 캡처 그룹과 다음 문자 조건으로 경계를 나눈 방식입니다.

5자리 주문번호 오입력을 엄격한 정규식 패턴으로 제외한 Google 스프레드시트 화면

오류 행을 빈칸으로 숨기기보다 검토 대상으로 남기려면 IFNA를 바깥에 씁니다.

=IFNA(REGEXEXTRACT(A2,"(ORD-[0-9]{4}-[0-9]{4})(?:[^0-9]|$)"),"확인 필요")

#N/A와 잘못된 패턴은 어떻게 구분하나요?

#N/A는 수식 문법이 틀렸다는 뜻이 아니라 입력 텍스트에서 일치 항목을 찾지 못했다는 뜻일 수 있습니다. 반면 괄호가 닫히지 않은 "(" 같은 패턴은 유효한 정규식이 아니므로 패턴 자체를 고쳐야 합니다.

증상별 첫 확인과 복구

증상먼저 확인복구
#N/A원문에 코드가 있는지, 자릿수가 맞는지패턴을 고치거나 IFNA로 ‘확인 필요’ 표시
#REF!와 유효하지 않은 정규식 메시지괄호·대괄호·반복 기호가 닫혔는지패턴 문법 수정
코드가 짧게 잘림마지막 자릿수 뒤 경계가 있는지비숫자 또는 문자열 끝 조건 추가
코드가 두 개인데 하나만 나옴첫 일치만 필요한 작업인지모든 발생 항목이 필요하면 추출 구조를 별도로 설계

IFNA는 일치 없음만 바꿉니다. 잘못된 정규식까지 숨기지 않으므로 패턴 오류와 데이터 누락을 서로 다른 문제로 볼 수 있습니다.

숫자를 계산에 쓰려면 왜 VALUE가 필요한가요?

REGEXEXTRACT는 텍스트를 입력받고 결과도 텍스트로 반환합니다. 결제금액 128000원에서 숫자만 꺼내면 화면에는 128000이 보여도 문자열이므로, 합계나 크기 비교에 쓸 때만 VALUE로 숫자로 바꿉니다.

=VALUE(REGEXEXTRACT("결제금액 128000원","[0-9]+"))

입력 셀 자체가 숫자라면 먼저 TEXT로 바꿉니다.

=REGEXEXTRACT(TEXT(B17,"0"),"[0-9]+")
숫자 입력을 REGEXEXTRACT에 직접 넣었을 때의 VALUE 오류와 TEXT 변환 복구 화면
주의: 주문번호처럼 앞의 0도 의미가 있는 식별자는 VALUE로 바꾸지 마세요. 숫자로 저장하는 순간 앞자리 0이 사라졌다면 정규식으로 되살릴 수 없으므로 원본 열을 텍스트로 보관해야 합니다.

PC·Android·iPhone과 iPad에서는 무엇이 다른가요?

수식의 함수명과 패턴은 같지만 입력 화면의 크기가 다릅니다. 긴 정규식을 처음 만들고 오류 메시지를 읽을 때는 PC 웹이 편하고, 모바일 앱은 짧은 수정이나 결과 확인에 적합합니다.

환경입력권장 작업
PC·Mac 웹결과 셀 선택 → 수식 입력 → Enter패턴 설계, 범위 복사, 오류 메시지 확인
Android 앱셀 탭 → =로 수식 입력 → 완료기존 패턴의 짧은 수정과 결과 확인
iPhone·iPad 앱셀 탭 → =로 수식 입력 → 완료기존 패턴의 짧은 수정과 결과 확인

모바일에서 복사한 수식이 작동하지 않으면 따옴표가 굽은 인용부호로 바뀌지 않았는지 먼저 보세요. 정규식은 일반 큰따옴표 "로 감싸야 합니다.

실무에서 적용할 순서

  1. 원문 열을 보존하고 옆에 추출 결과 열을 만듭니다.
  2. 정상 코드 한 셀에 기본 패턴을 넣어 원하는 부분이 나오는지 봅니다.
  3. 코드 없음, 자릿수 초과, 코드 두 개 같은 경계 행을 함께 확인합니다.
  4. 부분 일치가 생기면 캡처 그룹과 비숫자·문자열 끝 조건을 추가합니다.
  5. #N/A 행을 확인한 뒤 IFNA로 ‘확인 필요’를 표시합니다.
  6. 숫자 입력은 TEXT, 계산할 출력만 VALUE로 변환합니다.
  7. 새 원문 형식이 추가되면 기존 패턴이 잘라낸 값을 그대로 믿지 말고 경계 행부터 다시 봅니다.

공식 도움말과 관련 글

전체 글 보기