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

更新 發佈閱讀 5 分鐘

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

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

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

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

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

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

IJP\d{9}

它的意思是:

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


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

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

raw-image

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

raw-image

於是你可以在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

raw-image

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

raw-image
raw-image



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

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

raw-image

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

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

raw-image

以上供參考。


留言
avatar-img
會計自動化研究社
29會員
28內容數
致力於交流【VBA|RPA自動化|會計實務】的學習社群。
你可能也想看
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
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
在EXCEL中如果要進行四則運算,必須先輸入一個等於『=』,之後再輸入想要運算的算式。 但如果EXCEL的資料中,有一堆算式,但是前面沒有等於該怎麼快速計算呢😣 【📁檔案下載】 看教學之前可以先下載練習檔,學中做、做中學效果更好哦。 檔案下載 【▶️影音教學】
Thumbnail
在EXCEL中如果要進行四則運算,必須先輸入一個等於『=』,之後再輸入想要運算的算式。 但如果EXCEL的資料中,有一堆算式,但是前面沒有等於該怎麼快速計算呢😣 【📁檔案下載】 看教學之前可以先下載練習檔,學中做、做中學效果更好哦。 檔案下載 【▶️影音教學】
Thumbnail
在職場上總會常常遇到一些奇奇怪怪的日期格式,但EXCEL看得懂的日期其實並不多。 延伸閱讀: EXCEL日期正確的輸入方式,與常見錯誤之日期格式輸入 如果遇到遇到各種五花八門的格式時,要如何快速把這些格式迅速統一呢!! 總不可能手動一筆一筆修改吧🙈 💡其實EXCEL中有一個功能可以迅速處
Thumbnail
在職場上總會常常遇到一些奇奇怪怪的日期格式,但EXCEL看得懂的日期其實並不多。 延伸閱讀: EXCEL日期正確的輸入方式,與常見錯誤之日期格式輸入 如果遇到遇到各種五花八門的格式時,要如何快速把這些格式迅速統一呢!! 總不可能手動一筆一筆修改吧🙈 💡其實EXCEL中有一個功能可以迅速處
Thumbnail
在計算財務資料時,一定會常常碰到,財務摘要中有小計與明細,如下圖。 但是...含有明細的資料有時候你的老闆會懶得看。 會跟你說:給我看這麼多做什麼?給我看結果就好 就告訴你要把明細都隱藏,只留下年就好,如下圖。 這時候要把所有的明細都隱藏起來,你可能會這樣做 選取要隱藏的列
Thumbnail
在計算財務資料時,一定會常常碰到,財務摘要中有小計與明細,如下圖。 但是...含有明細的資料有時候你的老闆會懶得看。 會跟你說:給我看這麼多做什麼?給我看結果就好 就告訴你要把明細都隱藏,只留下年就好,如下圖。 這時候要把所有的明細都隱藏起來,你可能會這樣做 選取要隱藏的列
Thumbnail
向下填滿是EXCEL一個超好用的功能,依據不同的資料型態能有不同的填滿效果。 例如總金額=單價*數量 輸入完公式之後就會使用自動填滿的功能去將資料迅速的計算完成。 每隔一段時間就會有網友詢問,為什麼我的EXCEL沒辦法向下填滿,我昨天還可以用,我隔壁同事也可以用,從開機也是一樣,我的E
Thumbnail
向下填滿是EXCEL一個超好用的功能,依據不同的資料型態能有不同的填滿效果。 例如總金額=單價*數量 輸入完公式之後就會使用自動填滿的功能去將資料迅速的計算完成。 每隔一段時間就會有網友詢問,為什麼我的EXCEL沒辦法向下填滿,我昨天還可以用,我隔壁同事也可以用,從開機也是一樣,我的E
Thumbnail
依據【開始日期】,【結束日期】,將員工請假狀態,自動填入班表內,這部影片,Meiko將手把手詳細的跟同學們解釋函數用法,歡迎選讀學習。(文章內有新舊版本函數供參考)
Thumbnail
依據【開始日期】,【結束日期】,將員工請假狀態,自動填入班表內,這部影片,Meiko將手把手詳細的跟同學們解釋函數用法,歡迎選讀學習。(文章內有新舊版本函數供參考)
Thumbnail
在工作中,我們經常需要處理財務數據,例如收支表、成本表等。在這些表格中,我們需要計算支出比例,以了解支出占總收入的比例。計算支出比例的方法有很多種,其中一種方法是使用 Excel 的「列總計 %」功能。這個功能可以快速、準確地計算支出百分比,並且操作簡單,非常適合職場工作者使用。
Thumbnail
在工作中,我們經常需要處理財務數據,例如收支表、成本表等。在這些表格中,我們需要計算支出比例,以了解支出占總收入的比例。計算支出比例的方法有很多種,其中一種方法是使用 Excel 的「列總計 %」功能。這個功能可以快速、準確地計算支出百分比,並且操作簡單,非常適合職場工作者使用。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News