Power Automate Desktopで日付・日時を比較する方法【PAD】

Power Automate Desktop

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に関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。

chaso

文系出身、数字が苦手な平凡主婦。塾講師、大手企業SE、不動産事務、Webライター、結婚後はパートタイムでエンジニアをしています。機械音痴だけど効率化や自動化をこよなく愛しています!お仕事の依頼・ご相談は問い合わせよりお願いいたします♪

chasoをフォローする

コメント

タイトルとURLをコピーしました