即時精選

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

更新於 發佈於 閱讀時間約 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
留言分享你的想法!
avatar-img
會計自動化研究室
1會員
3內容數
致力於交流【VBA|RPA自動化|會計實務】的學習社群。
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
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 的「列總計 %」功能。這個功能可以快速、準確地計算支出百分比,並且操作簡單,非常適合職場工作者使用。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News