【Vol.28】Power Automate:毎月の「◯営業日目」を自動で出す方法

Power Automate 実践・Tips
★★☆ 中級
⏱ 10分で読める
🎯 営業日計算

「今月の第3月曜日」や「毎月5営業日目」を自動で計算するフローを作ろうとして、思ったより複雑だと感じたことはありませんか?

カレンダー系の日付計算は「日数を足すだけ」では対応できないパターンが多く、少し工夫が必要です。
今回は Power Automate で毎月の「◯営業日目」を自動で出す方法を整理します。

基本の考え方

「月初から日付を1日ずつ進めながら、土日をスキップしてカウントする」ループを作ります。

方針の比較

❌ addDays()だけで計算しようとする(NG)

addDays(startOfMonth(utcNow()), 4)
→ 月初+4日 = 5日目になるが、土日が含まれていてもスキップされない

✅ Do until + dayOfWeek() でカウントする(OK)

月初から1日ずつ進めて、土日をスキップしながら営業日だけカウント
→ count が目標値に達したらループ終了

📌 ここがポイント

月初から1日ずつ確認しながら営業日をカウントする、というシンプルなアルゴリズムで実現できます。

処理の流れ:
① 月初(1日)からスタートする
② その日が平日か判定する(dayOfWeek() で曜日チェック)
③ 平日なら営業日カウントを +1 する
④ 目標の営業日数に達したらループ終了

使うアクションと関数

  • Do until:目標営業日数に達するまでループする
  • dayOfWeek():曜日を数値で返す(0=日曜、1=月曜…6=土曜)
  • addDays():日付を1日ずつ進める
  • 変数の初期化:カウント用(整数)と日付用(文字列)の2つを用意する

フロー実装の要点

変数を2つ用意して、Do until ループの中で1日ずつ進めながらカウントします。

変数初期化:
  count(整数)= 0                          ← 営業日カウンター
  currentDate(文字列)= startOfMonth(utcNow())  ← 月初からスタート

Do until:
  条件:count == 目標営業日数               ← 目標に達したら終了

  中の処理:
  1. dayOfWeek(currentDate) を確認
  2. 0(日)または 6(土)でなければ count += 1  ← 平日のみカウント
  3. currentDate = addDays(currentDate, 1)   ← 1日進める
Do until ループの流れ
月初をセット
土日チェック
平日→count+1
目標値到達?
完了 ✓
最初は難しく感じるかもしれませんが、使い方のパターンを覚えてしまえばあとはコピペで応用できます。

つまずきポイント

よくある間違い

❌ count を 1 から始めてしまう

月初が1営業日目なので、count=1から始めると
最初の平日で count=2 になってしまいズレる

✅ count は 0 から始める

count=0 スタート → 最初の平日で count=1 → 正確に「1営業日目」を検出できる

💡 覚えておきたいこと

dayOfWeek() の戻り値:0=日曜、6=土曜
土日を除外する条件は「0でも6でもない」です。混同しやすいので注意してください。

祝日は非対応:このロジックでは祝日は考慮できません。
祝日対応が必要な場合はSharePointリストで祝日一覧を管理して contains() でチェックする方法が定番です。

ループ上限の確認:Do until のデフォルト上限は60回。月内なら十分ですが念のため確認を。

実務での使いどころ

  • 毎月5営業日目に自動でレポートを Outlook で送信する
  • 毎月2営業日目に請求処理フローを起動する
  • 毎月3営業日目に Excel CSVを自動生成する
  • Teams へ「今月の第〇営業日目です」と自動通知する
ループが動いて正しい営業日が出たときの達成感、ぜひ体験してみてください。

まとめ

今回は Power Automate で毎月の「◯営業日目」を自動で出す方法を解説しました。

📋 この記事で学んだこと

営業日計算は少し複雑ですが、一度フローが動くと月次業務がすっきり自動化できます。
ぜひ実際のフローで試してみてください。

→ 次に読む記事:「【Vol.29】Power Automate:if()関数で条件分岐をシンプルに書く

💌

最新のPower Automate Tipsを毎日チェック

1枚スライドで関数・概念をわかりやすく解説しています。

@isamu_Automate をフォロー

PA45 — 45分でPower Automateを一緒に学ぼう

毎週木曜夜・オンライン・無料のハンズオン講座。初心者歓迎。

次回PA45に参加する

\ 最新情報をチェック /

💌

最新のPower Automate Tipsを毎日チェック

1枚スライドで関数・概念をわかりやすく解説しています。

𝅧 @isamu_Automate をフォロー →

PA45 — 45分でPower Automateを一緒に学ぼう

毎週木曜夜・オンライン・無料のハンズオン講座。初心者歓迎。

次回PA45に参加する →

コメント

PAGE TOP