RPA程式思維系列:必學的條件判斷與迴圈觀念

更新 發佈閱讀 4 分鐘

多數人在用 Power Automate 或 UiPath 時,不是先學邏輯,而是先拖積木。結果流程到某一步卡住,卻不知道為什麼。

在每個程式語言中,都會有條件和迴圈的語法,在搭建自己的流程時必須要有條件和迴圈的概念。

在下面的說明中也會搭配流程圖示,流程圖是開發人員很常見的圖示,常在釐清需求時畫出流程圖,方便團隊討論及確認流程正確性,確定後以此流程為主去做流程開發可以更有效率。我自己也蠻習慣在開發前畫出流程圖先想清楚邏輯怎麼跑再動工。

條件

符合條件時才可以去處理的是否問題。
- 如果Excel檔案有資料 -> 才寄Email
- 如果欄位空白 -> 就跳過
- 如果今天是月底 -> 才跑月報流程

流程圖

流程圖

在條件判斷中很多時候也會有很多不同的條件,這時除了if,另外的條件就會用到else if,最後剩下的條件用else

Else If 就像層層疊的過濾網。順序非常重要

  • 補充: 條件是由上往下檢查的。一旦符合了第一個條件,程式就會執行那一段,然後直接跳過後面所有的條件。
raw-image


例子: 就像分類郵件。
- If 標題有「急件」 -> 傳簡訊通知。
- Else If 標題有「發票」 -> 存到會計資料夾。
- Else (剩下的) -> 封存。

思考點:如果有一封信標題是「急件:發票」,因為它先符合了第一條,所以它只會被傳簡訊,不會被存到會計資料夾(除非邏輯改變)。這就是順序的重要性。


迴圈

讓流程重複做一樣的事直到條件滿足,在Power Automate中常見的操作例子像
- 讀取Excel每一行
- 讀取資料夾路徑的每一個檔案名稱
- 讀取PDF每一頁

像這樣有同樣的規律但要重複很多次進而去拿到不同的內容,就會用迴圈來處理,而迴圈又有分For迴圈跟While迴圈:

For 迴圈:用於當你明確知道要跑幾圈(知道要取多少次資料)時,而在這些資料裡你都要做一些處理。例如:你有一個Excel交易紀錄,你想要每一行都計算折扣,更新資料放回Excel。

For迴圈

For迴圈


While迴圈:不確定要跑幾次,只知道什麼時候該停,這時就可以使用。While的迴圈精神是還沒達成條件前會一直做下去,直到條件滿足才停止。例如:直到Excel檔案找到特定的關鍵字才跳出迴圈停止掃描,並返回這個關鍵字在Excel哪個位置。

While迴圈

While迴圈


補充:「無窮迴圈」的警示 (While 迴圈的坑)

在介紹 While 迴圈時,提到了「直到條件滿足才停止」,但新手常犯的錯誤是「條件永遠無法滿足」。這樣會讓流程一直困在迴圈中跑到電腦當機的慘案發生。
使用 While 時一定要確保有一個機制能改變狀態(讀取下一行時計數器 +1),否則機器人會陷入死循環(Infinite Loop)永遠跑不完。

以上介紹了條件及迴圈。在實際的流程當中,不會只有單純的For迴圈、While迴圈、if條件式判斷,而是混合著使用。其中最常見的是迴圈+if條件式判斷。例子: 讀取 Excel 每一行(迴圈),如果金額大於 1000 元(條件),寄出 Email 通知主管,否則跳過。

混合使用

混合使用

最後,留一個簡單的思考題當作以上內容的複習,如果是你會怎麼設計?

想像你是一個負責「發薪水」的機器人。 公司有 100 位員工,規則是:

  1. 每個人都要發底薪。
  2. 如果是業務部 (Sales),要額外計算業績獎金。
  3. 如果請假超過 3 天,要扣全勤獎金。

請問這張流程圖你會怎麼畫?

解答(參考用): 一層迴圈+條件式判斷就可以處理這樣的情境,但有其他好的idea也可以做!

留言
avatar-img
會計自動化研究社
22會員
23內容數
致力於交流【VBA|RPA自動化|會計實務】的學習社群。
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
市場經驗拉長之後,很多投資人都會遇到同一個問題:不是方向看錯,而是部位太集中個股,常常跟大趨勢脫節。 早年的台股環境,中小股非常吃香,反而權值股不動,但QE量化寬鬆後,特別是疫情之後,後疫情時代,鈔票大量在股市走動,這些大資金只能往權值股走,因此早年小P的策略偏向中小型個股,但近年AI興起,高技術
Thumbnail
市場經驗拉長之後,很多投資人都會遇到同一個問題:不是方向看錯,而是部位太集中個股,常常跟大趨勢脫節。 早年的台股環境,中小股非常吃香,反而權值股不動,但QE量化寬鬆後,特別是疫情之後,後疫情時代,鈔票大量在股市走動,這些大資金只能往權值股走,因此早年小P的策略偏向中小型個股,但近年AI興起,高技術
Thumbnail
這篇文章將帶您走進 RPA 的學習世界,專注於 UiPath 中的 Excel 常用功能。例如,如何使用 Excel File、Read Range、Write Cell、Filter 和 Insert Sheet。將透過範例讓您瞭解這些功能的實際應用,幫助掌握自動化流程這項技術,我們一起開始學習!
Thumbnail
這篇文章將帶您走進 RPA 的學習世界,專注於 UiPath 中的 Excel 常用功能。例如,如何使用 Excel File、Read Range、Write Cell、Filter 和 Insert Sheet。將透過範例讓您瞭解這些功能的實際應用,幫助掌握自動化流程這項技術,我們一起開始學習!
Thumbnail
軟工體驗營最後一周,短短一個月的前端程式體驗,真的是非常超值的課程。不論是檢視自己對寫程式的感受,或是透過社群認識自己的新面向、軟實力的培養都是。六角是非常新手友善的程式學校,推薦給每位想學習前端的初心者朋友。
Thumbnail
軟工體驗營最後一周,短短一個月的前端程式體驗,真的是非常超值的課程。不論是檢視自己對寫程式的感受,或是透過社群認識自己的新面向、軟實力的培養都是。六角是非常新手友善的程式學校,推薦給每位想學習前端的初心者朋友。
Thumbnail
遭受學習挫折的一周,開始發現社群的重要性,最終還是回歸於自己報名體驗營的目的。
Thumbnail
遭受學習挫折的一周,開始發現社群的重要性,最終還是回歸於自己報名體驗營的目的。
Thumbnail
軟體工程師體驗營的第三周,對於知識、學習、課程、社群的感想,持續內化中,我不想只有上課,也希望從學習過程獲得更多經驗,所以寫下了這篇記錄。我也意外發現剛學習的 JavaScript,說不定能讓我重拾學習程式互動藝術,這很令人開心,即使我正在考慮轉職,但創作是終生的,希望下次發作品能有些新展現。
Thumbnail
軟體工程師體驗營的第三周,對於知識、學習、課程、社群的感想,持續內化中,我不想只有上課,也希望從學習過程獲得更多經驗,所以寫下了這篇記錄。我也意外發現剛學習的 JavaScript,說不定能讓我重拾學習程式互動藝術,這很令人開心,即使我正在考慮轉職,但創作是終生的,希望下次發作品能有些新展現。
Thumbnail
在軟體工程師體驗營的第二周,我仿佛置身於精神時光屋,獲得了許多新的樂趣。寫程式依然讓我感到有趣,每天都迫不及待地期待著有新的發現。在這篇文章中,我紀錄了這一周的心得和體會。
Thumbnail
在軟體工程師體驗營的第二周,我仿佛置身於精神時光屋,獲得了許多新的樂趣。寫程式依然讓我感到有趣,每天都迫不及待地期待著有新的發現。在這篇文章中,我紀錄了這一周的心得和體會。
Thumbnail
我參加了六角學院的網頁設計體驗營,想要體驗自己對前端編程的興趣,並且探索轉職的可能性。在其他自學網路文章看到,公開筆記和記錄心得也是一種學習方式,但公開筆記真的很有壓力,所以我決定記錄下體驗營觀察到的個人體悟與學習歷程,同時作為分享,也是給自己的筆記。
Thumbnail
我參加了六角學院的網頁設計體驗營,想要體驗自己對前端編程的興趣,並且探索轉職的可能性。在其他自學網路文章看到,公開筆記和記錄心得也是一種學習方式,但公開筆記真的很有壓力,所以我決定記錄下體驗營觀察到的個人體悟與學習歷程,同時作為分享,也是給自己的筆記。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News