Power Automate Desktop(PAD)で、日付・日時を比較する方法について紹介します。
「If」を使って比較する
PADで日付・日時を比較する際には、テキストや数値などの比較と同様、「If」を使います。
例えば、以下は現在の日時を取得して、その日時が2024/1/27 10:00:00よりも前だったらメッセージを出すというフローです。
このフローを実行すると、現在は2024/1/26 15:49なのでメッセージが表示されます。
今回の例では、Ifの比較元に固定値を入れていますが、ExcelやCSVファイルなどに記載されている内容をDatetime型変数に格納して比較することも可能です。
日付・日時を比較する際の注意点
では、以下のフローを実行した場合、どのような結果になるでしょうか?
※現在時刻が2024/1/26 15:55:20とします。
If文の比較では、2024/01/26よりも小さい場合にメッセージを表示するようにしています。しかし、今回の例では年月日までしか指定されていません。
この場合、2024/01/26は
2024/01/26 0:00:00
として扱われ、
2024/01/26 15:55:20
と比較したときに、現在時刻(CurrentDateTime)のほうが大きいと判断されてしまいます。
この対策としては、「現在の日時を取得」アクションの設定で「現在の日付のみ」を選択すると、2024/01/26 0:00:00が取得されるので時刻に差がない状態となります。
起こり得るエラー
If文で日付や日時を比較しようとした際に起こり得るエラーは以下のとおりです。
例えば、If文の比較元に2024と入れた場合、この値は日付(Datetime)ではなく数値とみなされてしまいます。
もし「2024年」以上や以下などの比較をしたい場合は、2024/01/01 0:00:00と、時刻まで明記する必要があります。
差分を取得したい場合
日付・日時をIf文で比べるのではなく、何分差、何日差などの差分を取得したい場合には、「日付の減算」アクションを使います。
「日付の減算」というアクション名だけ聞くと、指定した分過去の日付にするかのような印象ですが、このアクションで差分を取得することができます。
例えば、「元となる日付」と「日付の減算」に1日違いの日時が入っていた場合、
このフローを実行すると、TimeDifference変数には -1 が入ります。
日付の計算(加算・減算)、比較に関しての詳細は、以下記事にて解説しています。
まとめ
今回は、Power Automate Desktop(PAD)で、日付・日時を比較する方法について紹介しました。
単純にIfを使っての比較にはなるものの、日付の記載方法には注意が必要なことが分かりました。
当ブログでは、Power Automate、Power Automate Desktopに関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。
コメント