Power Automate Desktop 指定月の最終営業日を取得する方法
Power Automate Desktopで指定月の最終営業日を取得する方法を紹介します。

Robin言語(コピー&ペースト用)
Power Automate Desktopにコピー&ペーストして利用可能です。
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''C:\\Test\\last_business_day_j.xlsx''' Visible: False ReadOnly: False Instance=> ExcelInstance
Excel.SetActiveWorksheet.ActivateWorksheetByName Instance: ExcelInstance Name: $'''Sheet1'''
DateTime.GetCurrentDateTime.Local DateTimeFormat: DateTime.DateTimeFormat.DateOnly CurrentDateTime=> CurrentDateTime
Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: CurrentDateTime Column: 1 Row: 1
Excel.ReadFromExcel.ReadCell Instance: ExcelInstance StartColumn: 2 StartRow: 1 ReadAsText: False CellValue=> ExcelData
Excel.CloseExcel.Close Instance: ExcelInstance
作成手順
Power Automate Desktopだけでは手間がかかるのでExcelシートを活用します。
まずExcelブックに「祝日」シートを用意してA列に土日以外の休日を列挙します。
この時、B列とC列の情報はなくても問題ありません。
またヘッダ行はなしで1行目からデータ行とします。

次に計算用のシートのB1セルに次の式を入力します。
=WORKDAY(DATE(YEAR(EDATE(A1,1)),MONTH(EDATE(A1,1)),1),-1,祝日!A:A)
A1セルに入力した日付の月の最終営業日がB1セルに表示される状態になります。

Excelブックを保存後、Power Automate Desktopのフローを作成します。

「Excelの起動」アクションを設置してExcelブックを指定します。
項目 | 設定値 |
---|---|
Excelの起動 | 次のドキュメントを開く |
ドキュメント パス | 保存したブック |
読み取り専用として開く | OFF |

次に「アクティブなExcelワークシートの設定」を設置して計算式のあるシートを指定します。

「Excel ワークシートに書き込み」アクションを設置します。
書き込む値には最終営業日を取得したい年月をテキスト、
または「現在の日時を取得する」アクションなどで取得できる日時変数を指定します。
項目 | 設定値 |
---|---|
書き込む値 | 最終営業日を取得したい年月。 (年月が合っていれば何日でも可) |
書き込みモード | 指定したセル上 |
列 | 1 |
行 | 1 |

「Excel ワークシートから読み取り」アクションを設置して最終営業日を取得します。
項目 | 設定値 |
---|---|
取得 | 単一セルの値 |
列 | 2 |
行 | 1 |

最後の「Excelを閉じる」でブックを閉じます。(保存するかは任意です)
このフローを実行すると「Excel ワークシートから読み取り」アクションの
生成された変数に最終営業日が設定されます。(初期設定では変数名ExcelData)

Power Automate Desktopを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,700ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方から各アクションの詳細な使い方、
頻出テクニック、実用例を紹介。(目次)
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。(更新履歴)
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。
関連記事
「日時」の使い方の記事一覧
実用例の記事一覧
祝日一覧(毎年更新)
祝日シートはこちらのものを使用できます。