【Power Automate】月末最終営業日にリマインドする方法【土日祝・会社休日を回避】

月末最終営業日にリマインドする方法
こまったさん

月末作業を忘れることが多くて・・・

イチモク

それならPower Automateを使ったリマインドはどうですか?

この記事を読んでわかること

  • 月末最終営業日になったらリマインドしてくれるボットを作ることができる
  • 月末最終営業日になったら自動実行するフローの作り方がわかる
  • 土日祝日を除いた営業日だけ動かすフローの作り方がわかる
この記事で使うPower Automateアクション
日時現在の時刻
日時時間からの減算
Office 365 Outlookイベントのカレンダービューの取得(V3)
変数変数の初期化
コントロールスイッチ
コントロール条件
コントロール終了
MicrosoftTeamsチャットまたはチャネルでメッセージを投稿する

今回は、Power Automateを使って月末最終営業日になったら自動でリマインドを送る方法を解説します。

月次の締め作業をつい忘れてしまった経験はありませんか。

月末にチームメンバーにお願いしていたことが放置されていないか心配になったことはありませんか。

ここで解説する方法を使えば、最終営業日が来たらPower Automateが自動でリマインドをかけてくれるようになります。

これらの忘れを防止したいという方は、きっと参考になりますのでぜひ最後まで読んでいってください。

Power Automateをまだ良く知らないという方はコチラから

目次

今回作成するフローの全体像

▼今回作成するフローの全体像はコチラ

流れは大きく5ステップです
  1. スケジュール済みクラウドフローで平日全てでトリガーする
  2. 今日の日付を取得する
  3. 今日が祝日だったらフローを止める
  4. 最終営業日の日付を取得する
  5. 今日の日付と月末営業日の日付を比べて同一であればリマインドを送る

フロー作成の前提条件

会社によっては祝日や土日も営業日ということもありますが、今回は「土日・祝日が定休日」という前提でフローを作成します。

イチモク

一番多くの人が当てはまる条件だと思いますので、参考になる方も多いと思います!

会社休日と祝日が合わないという方もいると思います。
そんな方は、Outlookで予め「会社休日カレンダー」を作成し、Step5のカレンダーIDを作成した「会社休日カレンダー」にすれば同じように機能しますよ

Power Automateフローの作成

STEP
Power Automateにアクセスする
STEP
スケジュール済みクラウドフローを作成する

▼トップ画面から「スケジュール済みクラウドフロー」を選択

▼任意のフロー名を付け、以下の通りスケジュールを入力し「作成」をクリック

STEP
「Recurrence」トリガーの詳細を設定する

▼「詳細オプションを表示する」をクリック

▼以下の通りプロパティを設定

間隔・頻度1日
タイムゾーン(UTC+09:00)大阪、札幌、東京
開始時刻初期値のまま
設定時刻(時間)9
設定時刻(分)0
イチモク

これで最終営業日の朝9時に通知してくれるフローになります。

STEP
「現在の時刻」アクションを追加する

▼「日時」→「現在の時刻」をクリック

STEP
「イベントのカレンダービューの取得(V3)」アクションを追加する

ここで祝日を判定するための準備をします

▼「Office365 Outlook」→「イベントのカレンダービューの取得(V3)」をクリック

▼以下の通りプロパティを入力

カレンダーID日本の休日
開始時刻現在の時刻
終了時刻現在の時刻
STEP
「条件」アクションを追加する

ここで祝日ならフローを止めるよう条件分岐させます

▼「コントロール」→「条件」をクリック

▼以下の通りプロパティを入力

左辺length(outputs('イベントのカレンダー_ビューの取得_(V3)')?['body/value'])
中央次の値に等しい
右辺0
イチモク

「祝日データの文字数が0(空)=祝日ではない」という条件で、祝日なら「いいえ」に進むようにしています。

STEP
「いいえの場合」に「終了」アクションを追加する

「いいえの場合」は「今日が祝日である」ということなのでここでフローを止めます

▼「コントロール」→「終了」をクリック

▼「状態」を「取り消し済み」に設定

イチモク

「はいの場合」は空のまま次に進めばOKです!

STEP
「変数を初期化する」アクションを追加する(最終営業日を取得する)

「最終営業日」として、まずは「当月の月末日」を取得します

ここでは、まだ土日は考慮できていません。後続のアクションで土日を考慮していきます

▼「変数」→「変数を初期化する」をクリック

▼以下の通りプロパティを入力

名前最終営業日
種類文字列
addDays(startOfMonth(addDays(startOfMonth(convertFromUtc(utcNow(), 'Tokyo Standard Time')), 32)), -1)

▼アクション名を「最終営業日」に変更

「値」に入力した関数の解説

addDays(
 startOfMonth(
  addDays(
   startOfMonth(
    convertFromUtc(
     utcNow(), 'Tokyo Standard Time')), 32)), -1)
  1. 現在のUTC時刻を取得 utcNow()
  2. それを東京標準時に変換 convertFromUtc( ① , 'Tokyo Standard Time')
  3. 東京標準時の月初日を取得 startOfMonth( ② )
  4. そこから32日進めて翌月の何処かの日付に移動 addDays( ③ , 32)
  5. 翌月の初日を取得 startOfMonth( ④ )
  6. 翌月の初日から1日引いて現在の月の最終日を取得 addDays( ⑤ , -1)
てじまる

関数が入れ子になっている時は内側から見ていくと理解しやすいですよ

STEP
「変数を初期化する」アクションを追加(月末最終曜日を取得する)

ここでは「月末最終曜日」として月末最終日の曜日を取得し、後に続く「スイッチ」アクション分岐で活用します。

▼「変換」→「変数を初期化する」をクリック

▼以下の通りプロパティを入力

名前月末最終曜日
種類整数
dayOfWeek(variables('最終営業日'))

▼アクション名を「月末最終曜日」に変更

dayOfWeek関数の解説

dayOfWeek(variables('最終営業日'))

「dayOfWeek関数」は下表に基づき「曜日」を数字にして返します。

日曜日0
月曜日1
火曜日2
水曜日3
木曜日4
金曜日5
土曜日6
てじまる

dayOfWeek関数はこちらのフローでも使ってます!

STEP
「スイッチ」アクションを追加する

ここでは、月末日が土曜日や日曜日だった場合に「最終営業日」を調整します

▼「コントロール」→「スイッチ」をクリック

▼「オン」に動的な値「月末最終曜日」を選択

STEP
「スイッチ」のケースを1つ増やす

▼ケースと既定の間にある+ボタンをクリック

STEP
「ケース」にアクションを追加する

ここでは、月末日が日曜日だった場合に、日曜から金曜までずらすための「-2日調整」をします

▼「次の値と等しい」に「0」を入力

▼「日時」→「時間からの減算」アクションをクリック

▼以下の通りプロパティを入力

基準時間最終営業日
間隔2
時間単位
STEP
「ケース2」にアクションを追加する

こちらは、月末日が土曜日だった場合に、土曜から金曜までずらすための「-1日調整」をします

▼「次の値と等しい」に「6」を入力

▼「日時」→「時間からの減算」アクショをクリック

▼以下の通りプロパティを入力

基準時間最終営業日
間隔1
時間単位
STEP
「既定」は何もアクションを入れない

▼「既定」の場合は、すでに「平日」になっているので調整不要です

STEP
「条件」アクションを追加する

▼スイッチを抜けた後に「コントロール」→「条件」を追加

▼以下の通りプロパティを入力

左辺dayOfMonth(body('現在の時刻'))
中央次の値に等しい
右辺dayOfMonth(variables('最終営業日'))

dayOfMonth関数は引数に入った日付から日にちだけを取得します

つまり、ここでは「今日の日付」と「月末最終営業日の日付」が同じかどうかを判定しています

STEP
「はいの場合」にリマインドアクションを追加する

「はいの場合」は、「今日の日付」と「最終営業日」が一致したことになるので、リマインドするためのアクションを設定します

▼「MicrosoftTeams」→「チャットまたはチャネルでメッセージを投稿する」を追加

▼リマインド先の情報とメッセージを入力

投稿者ユーザー
投稿先Group chat
Group chat48:notes
Messageお疲れ様です!
今日は月末最終営業日です!
締め作業を忘れず実施しましょう!

ここでは、ちょっと工夫して自分宛にチャットを送るように設定しました。

▼詳しく知りたい方はこちらの記事をご覧ください。

STEP
これで完成!テスト実行して確認!

▼このように無事にフローが実行されました

イチモク

ここまでお疲れ様でした。
少し長かったですが一つずつみたらシンプルなフローであることが分かると思います。

まとめ

今回の記事では、Power Automateを使って月末最終営業日になったら自動でリマインドを送る方法を解説をしました。

このフローをうまく活用すれば、月末作業の忘れ防止になりますし、常に気に留めて置くという状況をなくし、別の作業により集中できるようになります。

フローは大きく5ステップで作ることができます。

流れは大きく5ステップです
  1. スケジュール済みクラウドフローで平日全てでトリガーする
  2. 今日の日付を取得する
  3. 今日が祝日だったらフローを止める
  4. 最終営業日の日付を取得する
  5. 今日の日付と月末営業日の日付を比べて同一であればリマインドを送る

少し長くて分かりづらいと感じる方もいるかも知れませんが、一つずつ見ていけば結構シンプルなフローです。

ぜひ一度試してみてください。

ここまでお読みいただきありがとうございました。

てじまる

このブログではPower Automateを始めとしたローコードツール、Microsoft365系ソフトの効率的な使い方など定時帰りに役立つ情報を発信しています。
参考になりましたら、ぜひブックマーク登録をお願いします!

定時帰り後の時間を有効活用する活動『てじ活』には副業ブログがおすすめ!
副業ブログには、自分の知識やスキルを活かして収入を得るチャンスがあります。さらに、ブログを書くことで日常の業務スキルも向上し、新しい分野への知識が広がりますよ!

オススメのPower Automate教材はコチラ

PowerAutomateを書籍で学びたい方はコチラ

▲これから自動化を学びたい方にぴったりの入門書です。PowerAutomateなどのウェブツールは日々進化しています。そのアップデートにより画面構成や用語など、UI自体に見直しが入ることがあります。数年前の書籍では、使われている画面や用語が自分のPC画面と若干違って戸惑うことがあります。その点、この書籍は2024年に発売されたばかりで安心です。

▲これからPower Automate Desktopを始めたい人にオススメの入門書です。基本的なところから実用的はフローの紹介まで幅広く書かれています。図解も多く最初の1冊にぴったり。自分も最初はこの書籍から入りました。PADの書籍選びに迷っているならこの書籍を激推します。

▲Power Automatedesktopをこれから学習する人にはこの書籍がオススメです。インプレス社の「できる」シリーズなので内容は間違いなし。イラストを多用しているので飽きずに最後まで読めます。しかも内容も初心者向けに丁寧に解説されているので、これ一冊でPower Automate Desktopの基礎はマスターできます。

イチモク

ここで紹介している書籍はすべて実際に自分が学習に使ったものですので、安心してオススメできるものばかりです!

月末最終営業日にリマインドする方法

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次