會計人為什麼要學正則表達式?

更新 發佈閱讀 5 分鐘

假設今天我們在 Excel 或自動化流程中,收到這樣一段訊息:

「請參考附件,發票號碼是 IJP202406001,已於昨日開立,金額 88,000。」

如果你要讓 RPA 自動從這段文字中抓出「IJP202406001」,你可能會想:「那我用Excel語法Vlookup/LEFT/MID/RIGHT 抓看看好了?」但實際測試有時候你會發現:

  • 發票號碼不一定在固定位置
  • 有時開頭不是「請參考附件」,而是「本次開立的是……」
  • 有時候同一個儲存格中包含文字

這時候都讓我們花更多時間想辦法清洗數據之後再抓到要的字串,

這時候用正則表達式可以只用一句話就搞定:

IJP\d{9}

它的意思是:

「IJP」開頭,接著 9 位數字(\d{9})的字串,不管號碼出現在第幾個字元、被什麼字包圍,都可以一網打盡。


那我們用會計人較熟悉的Excel VBA來測試看看,什麼是正則表達式。

首先,到開發人員*(怎麼打開網路上有很多教學就不再贅述)打開Visual Basic程式介面工工具 → 設定引用項目 

vocus|新世代的創作平台

→ 找到Microsoft VBScript Regular Expressions 5.5 → 打勾 → 確定

vocus|新世代的創作平台

於是你可以在VBA中使用正則表達式;我們貼一段程式碼來測試看看

(請將下列程式碼複製貼上到VBA程式碼區)

Sub FindIJPInvoices_ShowInMsgBox()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim regex As RegExp
Dim matches As MatchCollection
Dim foundList As String

' 設定工作表
Set ws = ThisWorkbook.Sheets("工作表1")

' 設定正則表達式
Set regex = New RegExp
With regex
.Pattern = "IJP\d{9}"
.Global = False
.IgnoreCase = False
End With

' 假設搜尋範圍 A1Z100(可依資料調整)
Set rng = ws.Range("A1:Z100")

' 初始化結果字串
foundList = ""

' 搜尋每個儲存格
For Each cell In rng
If Not IsEmpty(cell.Value) Then
If regex.Test(cell.Value) Then
Set matches = regex.Execute(cell.Value)
foundList = foundList & "第 " & cell.Address & " 格找到:" & matches(0).Value & vbCrLf
End If
End If
Next cell

' 顯示結果
If foundList = "" Then
MsgBox "找不到任何符合格式的發票號碼(IJP+9碼)", vbExclamation
Else
MsgBox "以下是找到的發票號碼:" & vbCrLf & foundList, vbInformation
End If
End Sub
這時你的畫面應該長這樣

這時你的畫面應該長這樣

接著請回到Excel的介面中隨機在A1:Z100之間,輸入IJP開頭,加上隨機九位數號碼,例如:IJP000005678

vocus|新世代的創作平台

回到VBA按下執行鍵,會發現可以找到以IJP開頭+9個數字的字串。

vocus|新世代的創作平台
vocus|新世代的創作平台



除了在VBA之外,RPA工具中如果善加利用正則表達,我們在做抽取PDF內容的時候就更方便了。

假設我使用RPA用要去取下面這張發票的發票號碼IJP006235001,

vocus|新世代的創作平台

就在RPA (這邊使用的是微軟Power Automate)中寫入尋找IJP\d{9}字串,之後我就可以將一整串PDF中全部的發票號碼抓下來。接著只要再讓它寫入Excel或是Sharepoint中,

就可以獲得你想要的所有發票號碼。當然客戶編號、會計科目、身分證號碼、電話號碼等,只要有取號邏輯都可以這樣做。

vocus|新世代的創作平台

以上供參考。


留言
avatar-img
會計自動化研究社
31會員
28內容數
致力於交流【VBA|RPA自動化|會計實務】的學習社群。
你可能也想看
Thumbnail
在計算財務資料時,一定會常常碰到,財務摘要中有小計與明細,如下圖。 但是...含有明細的資料有時候你的老闆會懶得看。 會跟你說:給我看這麼多做什麼?給我看結果就好 就告訴你要把明細都隱藏,只留下年就好,如下圖。 這時候要把所有的明細都隱藏起來,你可能會這樣做 選取要隱藏的列
Thumbnail
在計算財務資料時,一定會常常碰到,財務摘要中有小計與明細,如下圖。 但是...含有明細的資料有時候你的老闆會懶得看。 會跟你說:給我看這麼多做什麼?給我看結果就好 就告訴你要把明細都隱藏,只留下年就好,如下圖。 這時候要把所有的明細都隱藏起來,你可能會這樣做 選取要隱藏的列
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
向下填滿是EXCEL一個超好用的功能,依據不同的資料型態能有不同的填滿效果。 例如總金額=單價*數量 輸入完公式之後就會使用自動填滿的功能去將資料迅速的計算完成。 每隔一段時間就會有網友詢問,為什麼我的EXCEL沒辦法向下填滿,我昨天還可以用,我隔壁同事也可以用,從開機也是一樣,我的E
Thumbnail
向下填滿是EXCEL一個超好用的功能,依據不同的資料型態能有不同的填滿效果。 例如總金額=單價*數量 輸入完公式之後就會使用自動填滿的功能去將資料迅速的計算完成。 每隔一段時間就會有網友詢問,為什麼我的EXCEL沒辦法向下填滿,我昨天還可以用,我隔壁同事也可以用,從開機也是一樣,我的E
Thumbnail
在EXCEL中如果要進行四則運算,必須先輸入一個等於『=』,之後再輸入想要運算的算式。 但如果EXCEL的資料中,有一堆算式,但是前面沒有等於該怎麼快速計算呢😣 【📁檔案下載】 看教學之前可以先下載練習檔,學中做、做中學效果更好哦。 檔案下載 【▶️影音教學】
Thumbnail
在EXCEL中如果要進行四則運算,必須先輸入一個等於『=』,之後再輸入想要運算的算式。 但如果EXCEL的資料中,有一堆算式,但是前面沒有等於該怎麼快速計算呢😣 【📁檔案下載】 看教學之前可以先下載練習檔,學中做、做中學效果更好哦。 檔案下載 【▶️影音教學】
Thumbnail
Excel是一個強大的電子試算表軟體,不僅適用於數據分析和報表製作,還能通過VBA(Visual Basic for Applications)進行自動化和擴展功能。要使用這些進階功能,首先需要啟用開發人員選項。以下將詳細介紹在Windows和Mac版本的Excel中如何啟用這個選項。 在Wi
Thumbnail
Excel是一個強大的電子試算表軟體,不僅適用於數據分析和報表製作,還能通過VBA(Visual Basic for Applications)進行自動化和擴展功能。要使用這些進階功能,首先需要啟用開發人員選項。以下將詳細介紹在Windows和Mac版本的Excel中如何啟用這個選項。 在Wi
Thumbnail
依據【開始日期】,【結束日期】,將員工請假狀態,自動填入班表內,這部影片,Meiko將手把手詳細的跟同學們解釋函數用法,歡迎選讀學習。(文章內有新舊版本函數供參考)
Thumbnail
依據【開始日期】,【結束日期】,將員工請假狀態,自動填入班表內,這部影片,Meiko將手把手詳細的跟同學們解釋函數用法,歡迎選讀學習。(文章內有新舊版本函數供參考)
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
在工作中,我們經常需要處理財務數據,例如收支表、成本表等。在這些表格中,我們需要計算支出比例,以了解支出占總收入的比例。計算支出比例的方法有很多種,其中一種方法是使用 Excel 的「列總計 %」功能。這個功能可以快速、準確地計算支出百分比,並且操作簡單,非常適合職場工作者使用。
Thumbnail
在工作中,我們經常需要處理財務數據,例如收支表、成本表等。在這些表格中,我們需要計算支出比例,以了解支出占總收入的比例。計算支出比例的方法有很多種,其中一種方法是使用 Excel 的「列總計 %」功能。這個功能可以快速、準確地計算支出百分比,並且操作簡單,非常適合職場工作者使用。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
只要會用鍵盤的人,人人都會做EXCEL表格。但是,如果你仔細研究,你或許會發現,工作是否有效率其實可以從一張EXCEL表裡看出來。這篇文章分享幾幾簡單的檢查方法與製作技巧。
Thumbnail
只要會用鍵盤的人,人人都會做EXCEL表格。但是,如果你仔細研究,你或許會發現,工作是否有效率其實可以從一張EXCEL表裡看出來。這篇文章分享幾幾簡單的檢查方法與製作技巧。
Thumbnail
在職場上總會常常遇到一些奇奇怪怪的日期格式,但EXCEL看得懂的日期其實並不多。 延伸閱讀: EXCEL日期正確的輸入方式,與常見錯誤之日期格式輸入 如果遇到遇到各種五花八門的格式時,要如何快速把這些格式迅速統一呢!! 總不可能手動一筆一筆修改吧🙈 💡其實EXCEL中有一個功能可以迅速處
Thumbnail
在職場上總會常常遇到一些奇奇怪怪的日期格式,但EXCEL看得懂的日期其實並不多。 延伸閱讀: EXCEL日期正確的輸入方式,與常見錯誤之日期格式輸入 如果遇到遇到各種五花八門的格式時,要如何快速把這些格式迅速統一呢!! 總不可能手動一筆一筆修改吧🙈 💡其實EXCEL中有一個功能可以迅速處
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News