공돌하우스

[구글스프레드시트] 정규표현식 본문

구글 스프레드시트

[구글스프레드시트] 정규표현식

빅톨 :) 2021. 5. 29. 21:28

안녕하세요! 빅톨입니다 :)

정규표현식은 특정 텍스트를 추출할 때 유용하게 사용할 수 있는데요. 다양한 프로그램에서 정규표현식 기능을 사용할 수 있지만 저는 업무에 있어 간편하게 사용할 수 있는 구글 스프레드시트에서 자주 사용하게 되더라구요. 사용법과 주요 예제를 알아두시면 업무 노가다를 많이 줄여줄 수 있으니 이번 포스팅을 통해 알아가시면 좋을 것 같아요!

정규표현식에 대한 소개는 [정규표현식] Python RegEX 포스팅을 참고해주세요!

 


 

구글 스프레드시트에서는 정규표현식과 관련된 다음의 3가지 함수가 있습니다.

 

 

1. REGEXEXTRACT(텍스트, 정규표현식)

텍스트에서 정규표현식에 따라 일치하는 부분의 문자열을 추출해주는 함수입니다. 예를 들어 =REGEXEXTRACT("abcdefg", "c.*f")라는 함수를 입력하면 "abcdef"에서 "c.*f"의 정규표현식에 해당하는 문자열인 "cdef"가 출력됩니다.

 

2. REGEXMATCH(텍스트, 정규표현식)

텍스트 일부가 정규 표현식과 일치하는지 여부를 출력해줍니다. 예를 들어 =REGEXMATCH("Spreadsheets", "S.r")라는 함수를 입력하면 "Spreadsheets"에서 "S.r"의 정규표현식에 해당하는 문자열인 "Spr"이 존재하므로 "True"가 출력되게 됩니다. 주요 사용 예로는 고객들의 정보 중 휴대폰 번호 등이 특정 규칙에 해당하는지 확인하는 용도로 사용할 수 있습니다.

 

3. REGEXREPLACE(텍스트, 정규표현식, 대체할텍스트)

정규표현식을 사용하여 텍스트 문자열의 일부를 다른 텍스트 문자열로 대체해줍니다. 예를 들어 =REGEXREPLACE("abcedfg", "a.*d", "xyz")라는 함수를 입력하면 "abcdefg"에서 "a.*d"의 정규표현식에 해당하는 "abcd"가 "xyz"로 대체됩니다. 따라서 "xyzfg"라는 결과가 출력됩니다.

 

다음은 이 함수들을 활용하는 예제들 입니다.

 

응용예제_01. 폰번호 양식 변경

 

응용예제_02. 폰번호 양식 점검

=REGEXMATCH(TEXT,"^\d{3}-\d{3,4}-\d{4}$")

숫자3자리로 시작해서 "-", 숫자3자리 또는 4자리, "-" 숫자4자리로 끝나는지 확인

 

응용예제_03. 이메일 양식 점검

=REGEXMATCH(TEXT,"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$")

 

응용예제_04. 괄호 안 문자열 추출

=REGEXEXTRACT(TEXT,"\((.*?)\)")

 

응용예제_05. 특정위치의 문자열 추출 - 1

=REGEXEXTRACT(C54,"\\$\d*")

"$" 부터 그 뒤 숫자까지 추출

 

응용예제_05. 특정위치의 문자열 추출 - 2

=REGEXEXTRACT(C51,"^.{2}(.{4})"

앞에서 3번째 위치부터 4개의 문자열 추출

 

응용예제_06. 특정 조건에 따라 서식 변경

=REGEXMATCH(A:A,"^\d{3}-\d{3,4}-\d{4}$")

조건부 서식에서 맞춤서식을 선택 후 규칙에 위 함수를 입력하면 A열 전체에 대해 휴대폰 번호 양식 검사를 수행하고 해당하는 항목에 대해서만 초록색 배경을 칠하게 됩니다.

 

정규표현식을 작성하실 때 구문이 복잡한 경우에는 아래 사이트들을 유용하게 활용할 수 있습니다.

https://regexper.com/ <- 작성한 구문을 도식화 시켜주는 사이트

https://regex101.com/ <- 작성한 구문과 텍스트를 활용해 테스트 해볼 수 있는 사이트


 

오늘은 구글 스프레드시트에서 정규표현식을 활용하는 방법을 알아봤습니다. 업무에 유용하게 활용하시길 바라구요. 다음 시간에는 구글시트가 엑셀에 비해서 가지는 장점 중 하나는 Query 함수에 대해 알아보겠습니다.

감사합니다~~