今天我們繼續來聊聊Excel的新函數——REGEXEXTRACT,它可以根據正則表達式來進行數據的提取,可以說是最強大的數據提取函數,沒有之一,在WPS中叫做REGEXP函數,最然叫法不一樣,但是用法基本上都是一模一樣的。
一、什麼是正則表達式
正則表達式是一種文本模式描述的方法,包括普通字元(如字母a到z)和特殊字元(稱為“元字元”)。通常使用單個字元串來描述、匹配一系列符合某個句法規則的字元串。正則表達式通常被用於搜索、編輯或操作文本和數據。
簡單來說就是:正則表達式可以通過一些特定的字元來描述出當前數據的規律,然後我們再通過這個規律來做數據提取與匹配。
以下是一些常見的元字元,這個大家只需要做了解即可,不需要記得,畢竟都是AI時代了。
二、REGEXEXTRACT
REGEXEXTRACT函數:根據正則表達式來進行數據的提取。
語法:=REGEXEXTRACT (text、pattern、[return_mode]、[case_sensitivity])
- 參數1:需要提取的文本
- 參數2:正則表達式
- 參數3:匹配類型,一共有3個,下面會詳細講到
- 參數4:是否需要區分大小寫
以上就是REGEXEXTRACT函數的參數,隨後我們來了解下的使用方法。
三、常規用法
在這裡\d表示整數後面再跟一個+號就表示匹配一個或多個數字字元。
公式:=REGEXEXTRACT(B3,"\d+",0)
將第三參數忽略或者設置為0,只會返回第一個匹配到的結果。
公式:=REGEXEXTRACT(B3,"\d+",1)
將第三參數設置為1,則表示匹配所有滿足條件的結果。
公式:=REGEXEXTRACT(B3,"\d+",2)
將第三參數設置為2.則會返回錯誤值,這個是因為第三參數是用來獲取匹配組的第一個結果的,當前的正則表達式並不是匹配組,所以就會返回錯誤值,這用到的並不多大家了解即可。
四、提取小數
公式:=REGEXEXTRACT(B3,"\d+\.?\d+",1)
跟大家簡單的講解下這個正則表達式的含義。
\d+表示匹配多個數字,\.?表示匹配1個小數點,\d+再次匹配多個數字,這樣的話就能構建好小數的匹配規則。
如果你想對數據進行求和,需要注意的是該函數是一個文本函數,結果都是文本格式的數字,需要將結果乘1轉換為數字格式才能求和。
公式:=SUM(REGEXEXTRACT(B3,"\d+\.?\d+",1)*1)
五、提取字母
公式:=REGEXEXTRACT(B3,"[a-z]+",1,0)
在這裡如果第四參數為0怎表示區分大小寫,第四參數為1怎表示不區分大小寫。
這個參數的意義其實並不大,可以使用使用[A-Z]表示大寫字母,[a-z]表示小寫字母。
六、提取漢字
公式:=REGEXEXTRACT(B3,"[一-龜]+",1)
方括弧是一個字符集,一-龜就表示漢字的範圍,在這裡範圍是根據Unicode 編碼的順序,一到龜基本涵蓋的所有的函數,所以是可以使用[一-龜]來代指所有的漢字的。
七、AI協助
正則表達式的規則與用法真的非常多,甚至有大佬還為此轉換寫了一本書,但是我們真的完全沒有必要去學習,現在AI已經非常普及了,遇到不會的正則表達值,直接詢問AI即可。
比如現在我們想要提取下面這個話的金額,就可以直接詢問AI,它的答疑也基本都是正確的。
早上5個人花了100元,今天中午2個人花了12.6元,晚上花了19.63元。
以上就是今天分享的全部內容,這個函數在WPS中叫做REGEXP,升級到最新版已經可以使用了,大家可以動手練習下,真的很好玩。
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/278439.html