業務自動化で脱・手作業!一人事務のDX活用術 | RPA・自動化ツール

業務自動化で脱・手作業!一人事務のDX活用ブログ|RPA・自動化ツールで業務をもっとラクに、もっとスマートに

Power Automateで土日を自動判定し直前の平日に「前倒し処理」する方法【初心者OK】

Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

Power Automateを活用して「土日には作業しない」ように設定するのは比較的かんたんですが、実務では「毎月5日の振込処理や支払処理」が土日と重なったときに、自動で3日または4日に前倒し実行したいといったニーズも多いのではないでしょうか。

特に振込や支払い処理のような日付が固定された業務では、5日が休日の場合、事前に処理しておく必要があります。

今回は、そんな現場で役立つ「Power Automateクラウド版で、土日の場合に処理を前倒しする方法」をご紹介します。


🔰前提:このフローでやりたいこと

  • 毎日フローを実行

  • 5日が土日だったら → 3日 or 4日の平日に実行

  • 5日が平日だったら → 5日に実行

  • それ以外の日は何もしない


📝実装ステップ詳細

1. スケジュール済みクラウドフローを作成

  1. Power Automateクラウドフローを開き、「作成」→「スケジュール済みクラウドフロー」を選択

    Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

  2. フロー名を入力し、繰り返し間隔「1日」に設定して作成

    Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

    Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

    +からアクションを追加していきます。

    Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

2. 5日が何曜日かを取得

  1. アクション「変数の初期化」を追加

    Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

     - Name:weekdayOf5th
     - Type:Integer

  2. アクション「変数の設定」を追加し、以下の式を入力:

dayOfWeek(concat(formatDateTime(utcNow(), 'yyyy-MM'), '-5'))

Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

Value欄で「/」と入力すると式の入力ができるようになります。

(fxボタンを押して式モードに切り替えることができるのでそこで入力してもOKです)

これで「今月の5日が何曜日か」を取得できます。


3. 今日の日付と曜日を取得

  1. 変数todayDayを初期化(型はInteger)し、以下の式で設定:

int(formatDateTime(utcNow(), 'dd'))
これで、今日の日付(日のみ)を取得しています。
  1. 変数todayWeekdayを初期化(型はInteger)し、以下の式で設定:

dayOfWeek(utcNow())
これで、今日が何曜日かを取得しています。

4. 条件分岐の構築

A. 5日が土日だった場合の前倒し処理

条件アクションを追加し、以下のOR条件を設定:

Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

もし、5日が土日だったら、前倒しの処理を行いたいので、5日が土日かどうかを判定します。

曜日の数値は以下の通りです:

曜日 数値
日曜日 0
月曜日 1
火曜日 2
水曜日 3
木曜日 4
金曜日 5
土曜日 6

つまり、5日が「0(日曜)」または「6(土曜)」だったら土日ということです。

OR
weekdayOf5th is equal to 0
weekdayOf5th is equal to 6

この条件が真(True)だった場合、さらに今日が「3日 or 4日」で、かつ「平日」だったら前倒しで処理を実行します。

Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

 
AND
  OR
    todayDay == 3
    todayDay == 4
  OR
    todayWeekday == 1
    todayWeekday == 2
    todayWeekday == 3
    todayWeekday == 4
    todayWeekday == 5

→ Trueなら、前倒しでアクション(例:メール送信)を実行


B. 5日が平日だった場合の通常処理

「5日が土日だったら」のFalse側に条件を追加:

Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

todayDay == 5

→ これが真(True)なら、通常通り5日にアクションを実行

▼全体フロー

Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】


✅ 実行パターンの整理

状況 実行日 処理
5日が土日 3日または4日(平日) 前倒しで実行
5日が平日 5日 通常実行
その他の日 - 実行しない

📝注意点:祝日は別対応が必要

今回の方法では「土日判定」はできますが、祝日は含まれていません。祝日対応を行うには、祝日カレンダー(たとえばGoogleカレンダーSharePointリスト等)と連携し、追加の条件判定が必要になります。

今後は祝日判定を含めたフローもご紹介予定ですので、続報をお待ちください!


🔚まとめ

Power Automateクラウド版で「土日だったら前倒しで実行する」フローは、条件式をうまく使うことで意外とシンプルに構築できます。日次で実行されるように設定すれば、振込処理やルーチン業務の自動化にも大活躍します。

日付ロジックに関するフロー設計は少し複雑ですが、一度組んでしまえば再利用もしやすくなりますので、ぜひ試してみてくださいね!

▼Power Automateを学ぶには書籍もおすすめ🌱

 初心者にもわかりやすいものを厳選してまとめています。

keiridx.net

▼土日祝を除く営業日だけフローを実行したい方はこちら

keiridx.net

▼One Driveのファイルを添付しメール送信

keiridx.net

▼ 役に立ったらブックマークお願いします!

Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】

Power Automateで土日を自動判定し直前の平日に「前倒し」または「後倒し」する方法【初心者OK】
人気ブログランキング