
Power Automateでフローを作成する際、「日付の比較がうまくいかない」と悩んでいませんか?思い通りに条件分岐できない原因の多くは、UTC(協定世界時)と日本時間のタイムゾーンのズレや、日時の文字列フォーマットの不一致にあります。この記事では、関数を使って書式を揃え、正しく日付を比較するための設定手順を徹底解説します。
この記事で分かること
- Power Automateにおける日時の扱い方とタイムゾーンの違い
- 条件コントロールを使った正しい日付比較の基本手順
- 関数を用いたフォーマット統一やシリアル値変換のコツ
- リマインドメール送信など日付比較を応用した自動化テクニック
タイムゾーンと日付の書式を統一するという結論さえ押さえれば、エラーは簡単に解決できます。正しい設定方法をマスターし、日々の業務の自動化に役立てましょう。
Power Automateで日付比較をマスターするための基礎知識
Power Automateでフローを作成する際、特定の期日や今日の日付を基準に条件分岐を行いたい場面は多々あります。しかし、直感的に日付を比較しようとすると、意図した通りに動作しないことがよくあります。この章では、日付比較を正確に行うために欠かせない、Power Automate特有の日時の扱い方やタイムゾーンの仕様について解説します。
Power Automateにおける日時の扱い方
Power Automateでは、日付や時刻のデータは専用の「日付型」ではなく、標準化された形式の文字列として扱われます。具体的には、国際規格である「ISO 8601」というフォーマット(例:2026-06-12T09:12:00Z)が用いられています。
この仕様により、異なるシステムから取得した日付データ(例えば、SharePointのリスト、Excelのテーブル、Dataverseなど)をそのまま比較しようとすると、フォーマットの不一致によって正しい判定が行われません。正確に日付の前後関係や一致を判定するためには、比較する双方のデータ形式を同じフォーマットに変換して統一することが重要になります。
- SharePointの作成日時データ
- Excelのシリアル値としての日付
- utcNow関数で取得した現在の日時
上記のようにデータソースが異なる場合、そのままでは比較演算子が正しく機能しないため、formatDateTime関数などを用いて形式を揃える下準備が不可欠です。詳しくは後述する具体的な設定手順の章で解説します。
UTCと日本標準時の違いを理解する
Power Automateで日付比較がうまくいかない最大の原因として挙げられるのが、タイムゾーンのズレです。Power Automateのシステム内部では、すべての日時データが「UTC(協定世界時)」を基準に処理されています。一方で、私たちが普段業務で扱っている日時は「JST(日本標準時)」です。
UTCとJSTの間には9時間の時差(JST = UTC + 9時間)が存在します。そのため、日本時間の午前8時にフローを実行し、utcNow関数で現在の日付を取得した場合、内部的には前日の午後11時として認識されてしまいます。この時差を考慮せずに比較を行うと、期日が1日ずれて判定されてしまうトラブルが発生します。
| タイムゾーン | 現在時刻の例 | 日付比較への影響 |
|---|---|---|
| UTC(協定世界時) | 2026年6月11日 23:00 | Power Automateの内部処理の基準となる時間。 |
| JST(日本標準時) | 2026年6月12日 08:00 | 日本のユーザーが認識している時間。UTCより9時間進んでいる。 |
この問題を解決するためには、比較を行う前にUTCの日時をJSTに変換する処理を挟む必要があります。日時の変換には、組み込みのアクションである「タイムゾーンの変換」を使用するか、式の中でconvertFromUtc関数を使用するのが一般的です。内部処理の基準時間を正しく理解し、タイムゾーンを日本時間に合わせてから条件分岐を行うことが、日付比較を成功させるための第一歩となります。
Power Automateで日付を比較する具体的な設定手順
Power Automateでフローを作成する際、特定の日付を基準に処理を分岐させたい場面は頻繁に発生します。しかし、日付データの形式が揃っていなかったり、時間の概念が影響したりすることで、意図した通りに比較処理が行われないケースも少なくありません。ここでは、エラーを防ぎ正確に日付を比較するための具体的な設定手順を3つのアプローチから解説します。
条件コントロールを用いた日付比較の基本
Power Automateで日付を比較する最も基本的な方法は、「条件」アクション(コントロール)を使用することです。左辺と右辺に比較したい日付の動的なコンテンツや関数を設定し、中央のドロップダウンリストから比較演算子を選択します。
基本的な設定手順は以下の通りです。
- フローのステップ追加から「コントロール」を選択し、「条件」アクションを追加する。
- 左辺の入力ボックスに比較元の値(例:SharePointリストの「作成日時」など)を指定する。
- 中央のドロップダウンから「次の値より大きい」「次の値より小さい」「次の値と等しい」などの演算子を選択する。
- 右辺の入力ボックスに比較先の値(例:現在時刻を取得するutcNow関数など)を指定する。
この基本操作において重要なのは、比較する2つの日付データが同じ形式であることです。ISO 8601形式などのフォーマットが異なると、単なる文字列として比較されてしまい正しい結果が得られません。
文字列フォーマットを揃えて日付を比較する方法
取得元が異なる日付データ(例えば、Excelから取得した日付と現在の日付など)を比較する場合、フォーマットの違いが原因で比較が失敗することがあります。これを防ぐためには、formatDateTime関数を使用して、双方の日付を同じ文字列フォーマットに揃えるのが効果的です。
例えば、時刻を無視して「年月日」だけで比較したい場合は、以下のように関数を設定します。
- 左辺:formatDateTime(triggerOutputs()?['body/DateColumn'], 'yyyy-MM-dd')
- 右辺:formatDateTime(utcNow(), 'yyyy-MM-dd')
このようにフォーマットを統一することで、純粋な文字列同士の比較としてアルファベット順(辞書順)で評価され、結果的に正しい日付の前後判定が可能になります。比較によく使用されるフォーマット指定子を以下の表にまとめました。
| フォーマット指定 | 出力例 | 用途・特徴 |
|---|---|---|
| yyyy-MM-dd | 2023-10-25 | 時刻を無視して年月日のみで比較したい場合 |
| yyyy-MM-ddTHH:mm:ss | 2023-10-25T14:30:00 | 秒単位まで含めて厳密に比較したい場合 |
| yyyyMMdd | 20231025 | ハイフンなしの数値として比較したい場合 |
なお、日付関数の詳細な仕様については、Microsoft公式の式関数リファレンスを参照すると、より複雑なフォーマットの指定方法を確認できます。
シリアル値に変換して日付の前後を比較する方法
文字列フォーマットを揃える方法以外に、より確実かつ数学的に日付の前後を比較する方法として、日付をシリアル値(数値)に変換するアプローチがあります。Power Automateにはticksという関数が用意されており、これを使うと指定した日時を「100ナノ秒単位の数値(ティック数)」に変換できます。
数値を比較するため、「文字列の比較では予期せぬ挙動になるのではないか」という不安を払拭でき、より厳密な比較処理を実現できます。
設定手順は以下のようになります。
- 条件アクションの左辺に ticks(比較したい日時) を入力する。
- 中央の演算子で「次の値より大きい(または小さい)」を選択する。
- 右辺に ticks(基準となる日時) を入力する。
例えば、SharePointアイテムの更新日時が現在時刻より前かどうかを判定する場合、左辺をticks(item()?['Modified'])、右辺をticks(utcNow())として「次の値より小さい」を選択します。これにより、日時の前後関係を数値の大小として正確に評価させることが可能です。
Power Automateの日付比較を応用した便利テクニック
Power Automateで日付比較の基本をマスターしたら、実際の業務フローに組み込んで自動化を進めましょう。ここでは、ビジネスシーンでよく使われる日付比較の応用テクニックを2つ紹介します。
契約更新日が近づいた顧客へ自動でメール送信する
顧客の契約更新日やサブスクリプションの期限が近づいた際に、自動で案内メールを送信するフローは非常に実用的です。SharePointのリストやExcelオンラインに保存された顧客データから日付を取得し、現在の日付と比較することで実現できます。
具体的なフローの作成手順は以下の通りです。
- 「スケジュール済みクラウドフロー」を作成し、毎日特定の時間に実行するようトリガーを設定します。
- SharePointの「複数の項目の取得」アクションなどで顧客リストを読み込みます。
- 「Apply to each(それぞれに適用)」を追加し、各顧客の契約更新日を取得します。
- 現在の日付に特定の日数(例:30日)を加算した日付と、契約更新日を比較します。
- 条件に一致した場合、OutlookやTeamsのアクションを使用して通知を送信します。
この際、比較する日付の形式を統一することが重要です。formatDateTime関数を使用して、時刻部分を切り捨てて年月日のみで比較すると、予期せぬエラーを防ぐことができます。
日報の提出状況を日付で比較してリマインドする
チームメンバーの日報や週報の提出状況を管理し、未提出者に対して自動でリマインドを送る仕組みも、日付比較を活用して構築できます。
提出期限と現在の日付を比較し、期限を過ぎている、あるいは当日の夕方になっても提出されていない場合に通知を行う設定が一般的です。以下は、日報リマインドフローで比較する主な日付データの例です。
| 比較するデータ | 取得方法・関数の例 | 比較の目的 |
|---|---|---|
| 現在の日付 | utcNow()関数とconvertTimeZone()関数 | フロー実行時点の日本時間を基準値として設定するため |
| 日報の最終提出日 | SharePointリストの「作成日時」や「更新日時」など | 該当メンバーが最後に提出した日付を特定するため |
| 提出期限 | 現在の日付から算出(例:当日の17時) | 提出遅れが発生しているかを判定するため |
フローの条件分岐では、最終提出日が現在の日付より前である場合に未提出とみなし、Teamsのチャットやチャネルにメンション付きでリマインドメッセージを投稿します。これにより、管理者の確認作業や手動での声掛けといった手間を大幅に削減し、業務効率化を図ることが可能です。
よくある質問(FAQ)
Power Automateで日付比較を行う際によく使う関数は何ですか?
Power Automateで日付の操作や比較を行う場合、主に以下の関数が頻繁に利用されます。それぞれの役割を理解して組み合わせることで、複雑な条件分岐もスムーズに設定できます。
| 関数名 | 主な用途と説明 |
|---|---|
| utcNow | 現在の日時(UTC)を取得します。基準となる現在時刻を得るために不可欠です。 |
| formatDateTime | 日時を指定した文字列フォーマット(例:yyyy-MM-dd)に変換します。比較時の形式統一に使用します。 |
| addDays | 指定した日時に特定の日数を加算または減算します。数日後の期限などを計算する際に便利です。 |
| ticks | 日時をシリアル値(100ナノ秒単位の数値)に変換します。日時の前後関係を数値として厳密に比較したい場合に役立ちます。 |
これらの関数に関する詳細な仕様は、式関数のリファレンスガイドで確認できます。
日付の比較条件で「以上」「以下」を正しく設定するには?
「条件」アクションを使用して日付の「以上」「以下」を判定する場合、単に日付データを入力するだけでは意図した結果にならないことがあります。比較する両方の値を同じフォーマットに変換してから条件式に当てはめることが重要です。
- 「次の値以上」:指定した日付と同じ、またはそれより後の日付
- 「次の値以下」:指定した日付と同じ、またはそれより前の日付
例えば、formatDateTime関数を用いてフォーマットを「yyyy-MM-dd」に統一することで、文字列としての辞書順比較がそのまま日付の前後関係と一致するため、正確に「以上」「以下」を判定できるようになります。
Power Automateで日付の曜日を判定して比較できますか?
はい、可能です。曜日の判定には「dayOfWeek」関数を使用します。この関数は、指定した日付の曜日を0から6までの整数で返します。
- 0:日曜日
- 1:月曜日
- 2:火曜日
- 3:水曜日
- 4:木曜日
- 5:金曜日
- 6:土曜日
「条件」アクションで「dayOfWeek関数の結果が0に等しい、または6に等しい」と設定すれば、土日(週末)であるかを簡単に判定できます。これにより、平日のみリマインド通知を送信するといった業務フローを構築できます。
比較する日付データに時刻が含まれている場合の対処法は?
SharePointのリストやDataverseなどから取得した日付データには、時刻情報(例:2024-01-01T15:30:00Z)が含まれていることが多くあります。このまま比較を行うと、同じ日付であっても時刻が異なるだけで「不一致」と判定されてしまいます。
この問題を解決するためには、formatDateTime関数を使用して時刻部分を切り捨てるのが最も効果的です。比較する両方の値を「formatDateTime(取得した日時, 'yyyy-MM-dd')」のようにフォーマットし、純粋な年月日のみの文字列にしてから比較を行ってください。
Power Automateで日付比較のテストを行う良い方法はありますか?
日付の比較がうまくいかない場合、バックグラウンドでどのような値として処理されているかを確認することが解決の近道です。テストを行う際は、「作成(Compose)」アクションを活用することをおすすめします。
- 「条件」アクションの直前に「作成」アクションを配置する
- 比較に使う動的なコンテンツや関数の結果を「作成」アクションの入力に設定する
- フローをテスト実行し、実行履歴から「作成」アクションの出力結果を目視で確認する
この手順を踏むことで、タイムゾーンのズレによる日付の不一致や、フォーマットの誤りに気づきやすくなり、比較エラーの原因を迅速に特定できます。
Power Automateで日付比較を行う際によく使う関数は何ですか?
Power Automateで日付の比較を正確に行うためには、日時のフォーマットを統一したり、基準となる日時を計算したりするための関数を活用することが不可欠です。ここでは、日付比較のシナリオで頻繁に利用される代表的な関数を目的別に解説します。
日付の書式や型を揃える関数
日付比較のエラーを防ぐためには、比較する2つの値のデータ型やフォーマットを完全に一致させることが基本となります。
- formatDateTime:日時の値を指定した文字列フォーマット(例:'yyyy-MM-dd')に変換します。表記揺れによる比較エラーを防ぐため、最も頻繁に使用されます。
- ticks:指定した日時を100ナノ秒単位の数値(シリアル値)に変換します。文字列としてではなく、数値として日付の前後を厳密に比較したい場合に有効です。
現在の日時を取得・調整する関数
フローが実行された「今日」や「現在時刻」を基準にして比較を行う場合は、現在日時を取得する関数を使用します。Power Automateの標準時間はUTC(協定世界時)であるため、日本時間への調整も同時に行うのが一般的です。
- utcNow:現在のUTC日時を取得します。比較の基準点として頻繁に呼び出されます。
- addHours:日時に指定した時間を加算します。日本時間(JST)で比較を行う場合、utcNow関数で取得した日時に9時間を加算してタイムゾーンを合わせる処理がよく用いられます。
日付の加算・減算を行う関数
「期限の3日前」や「登録から1ヶ月後」など、特定の日数や月数を前後にずらして比較条件を設定する際に役立つ関数です。
- addDays:指定した日時に特定の日数を加算、または減算(負の数を指定)します。
- getFutureTime / getPastTime:現在の日時から指定した時間(日、週、月など)だけ未来、または過去の日時を簡単に取得できます。
よく使う日付関数の一覧表
上記で紹介した関数を含む、日付比較でよく使われる関数の概要と記述例を以下の表にまとめました。詳細な仕様については、Azure Logic Apps の式関数のリファレンスガイドも参考にしてください。
| 関数名 | 主な用途 | 記述例 |
|---|---|---|
| formatDateTime | 日時を特定の文字列形式に変換する | formatDateTime(utcNow(), 'yyyy-MM-dd') |
| ticks | 日時を数値に変換して大小比較を可能にする | ticks('2023-10-01T00:00:00Z') |
| utcNow | 現在のUTC日時を取得する | utcNow() |
| addHours | 日時に時間を加算する(日本時間への変換など) | addHours(utcNow(), 9) |
| addDays | 日時に日数を加算・減算する | addDays(utcNow(), -3) |
日付の比較条件で「以上」「以下」を正しく設定するには?
Power Automateの「条件」アクションを用いて日付を比較する際、「特定の日付以上(以降)」や「特定の日付以下(以前)」といった条件を正しく設定するには、適切な比較演算子の選択と、比較する値のデータ形式を揃えることが重要です。
「条件」アクションで使える比較演算子と意味
Power Automateの条件コントロールでは、プルダウンから演算子を選択して比較を行います。日付の比較において「以上」や「以下」を表現する場合は、以下の演算子を使用します。
| Power Automateでの表記 | 英語表記 | 日付比較における意味 |
|---|---|---|
| 次の値以上 | is greater than or equal to | 指定した日付と同じ、またはそれより後の日付(〜以降) |
| 次の値以下 | is less than or equal to | 指定した日付と同じ、またはそれより前の日付(〜以前) |
| 次の値より大きい | is greater than | 指定した日付より後の日付 |
| 次の値より小さい | is less than | 指定した日付より前の日付 |
比較式の左辺と右辺の配置ルール
「以上」や「以下」の条件を設定する際、左辺と右辺のどちらにどの値を配置するかで混乱することがあります。基本的には、左辺に「判定したい動的な値(取得した日付データなど)」を置き、右辺に「基準となる固定の値(今日の日付や特定の日付)」を配置すると、条件式が直感的に読みやすくなります。
- 左辺:取得したアイテムの作成日
- 演算子:次の値以上
- 右辺:2026-06-01
このように設定することで、「アイテムの作成日が2026年6月1日以降であるか」という条件を正しく構成できます。
「以上」「以下」を正しく判定させるためのポイント
比較演算子を正しく選択しても、意図した通りに分岐しないケースが多々あります。Power Automateでは、日付データを文字列として辞書順で比較するため、左右のフォーマットが完全に一致している必要があります。
- 「yyyy-MM-dd」など、比較する両者の日付フォーマットを統一する
- 比較の妨げになる不要な時刻情報が含まれていないか確認する
- タイムゾーン(UTCと日本標準時)のズレによる日またがりの誤差に注意する
これらの設定を怠ると、「2026-06-12」と「2026/06/12」のように見た目は同じ日付でも、記号の違いによって文字列として「以上」「以下」の判定が誤って行われてしまいます。詳細な式の記述方法や条件の動作については、条件で式を使用する - Power Automate | Microsoft Learnの公式ドキュメントも参考にしてください。
Power Automateで日付の曜日を判定して比較できますか?
Power Automateでは、取得した日付から曜日を判定し、特定の曜日であるかどうかを比較して処理を分岐させることが可能です。たとえば、「土日祝日の場合は通知を送らない」「月曜日だけ特別な処理を実行する」といった業務要件を満たす際に非常に役立ちます。
dayOfWeek関数を用いた曜日の取得方法
日付から曜日を判定するためには、Microsoft公式ドキュメントのdayOfWeek関数リファレンスでも解説されているdayOfWeek関数を使用するのが一般的です。この関数に日付データ(タイムスタンプ)を渡すことで、曜日が0から6までの整数値として返されます。
| 曜日 | dayOfWeek関数の戻り値(数値) |
|---|---|
| 日曜日 | 0 |
| 月曜日 | 1 |
| 火曜日 | 2 |
| 水曜日 | 3 |
| 木曜日 | 4 |
| 金曜日 | 5 |
| 土曜日 | 6 |
取得した曜日数値を条件コントロールで比較する手順
関数で取得した数値を元に、「条件」アクションを利用してフローを分岐させます。ここでは、土日(戻り値が0または6)を除外して平日のみ処理を実行する場合の設定手順を紹介します。
- 「作成」アクションを追加し、入力に
dayOfWeek(utcNow())などの数式を設定して現在の日付の曜日数値を取得します。 - 「条件」アクションを追加し、左辺に手順1の出力を指定します。
- 比較演算子を「次の値に等しい」に設定し、右辺に「0(日曜日)」を入力します。
- 「行の追加」から「または」を選択し、同様に左辺を出力、右辺を「6(土曜日)」に設定します。
この設定により、条件が「はい(True)」の場合は土日、「いいえ(False)」の場合は平日として判定されます。土日と平日で異なるアクションを配置することで、柔軟な自動化フローを構築できます。
曜日判定時の注意点とタイムゾーンの考慮
dayOfWeek関数を使用する際、引数に渡す日付データがUTC(協定世界時)のままだと、日本時間との時差(9時間)によって意図しない曜日が判定されるリスクがあります。特に午前0時から午前9時の間にフローが実行される場合は、前日の曜日として計算されてしまうため注意が必要です。
この問題を回避するためには、曜日を判定する前にconvertFromUtc関数や「タイムゾーンの変換」アクションを使用して、日付データを日本標準時(JST)に変換してからdayOfWeek関数に渡すようにしてください。
比較する日付データに時刻が含まれている場合の対処法は?
Power Automateで日付を比較する際、取得したデータに時刻情報(タイムスタンプ)が含まれていると、意図した通りの比較結果にならないことがよくあります。例えば、同じ日付であっても「10:00:00」と「15:00:00」のように時刻が異なるだけで、条件コントロールでは「一致しない」と判定されてしまいます。このようなエラーを防ぐためには、時刻部分を取り除き、日付部分のみで比較を行うことが重要です。
formatDateTime関数で日付部分のみを抽出する
最も確実でよく使われる方法は、formatDateTime関数を利用して、時刻を切り捨てて日付の文字列フォーマットを揃えることです。取得した日時データを「yyyy-MM-dd」のような形式に変換することで、純粋な日付のみの比較が可能になります。
具体的な関数の書き方は以下の通りです。
formatDateTime(variables('対象の日時'), 'yyyy-MM-dd')formatDateTime(utcNow(), 'yyyy-MM-dd')
このように設定することで、時刻に関わらず「年-月-日」の文字列として評価されるため、条件コントロールでの「等しい」「より大きい(以降)」などの判定が正確に行えます。
startOfDay関数で時刻を0時にリセットする
もう一つの有効な手段として、startOfDay関数を使用する方法があります。この関数は、指定した日時の時刻部分を「00:00:00」にリセットし、その日の開始時刻に変換してくれます。文字列ではなく日時データのまま比較を続けたい場合に便利です。
各対処法の比較と選び方
日付のフォーマット変換と時刻リセットの特徴を以下の表にまとめました。フローの目的に合わせて適切な関数を選択してください。
| 対処法(関数) | 処理内容 | メリット |
|---|---|---|
| formatDateTime | 指定したフォーマット(例:yyyy-MM-dd)の文字列に変換する | フォーマットを自由に指定でき、文字列として直感的に比較しやすい |
| startOfDay | 時刻をその日の00:00:00に変換する | 日時型のまま扱うことができ、日付の加減算を伴う後続処理と相性が良い |
どちらの方法を採用しても、時刻のズレによる比較の失敗は解消できます。なお、これらの関数の詳細な仕様については、Power Automateの裏側で動いている仕組みと共通するAzure Logic Apps の式関数のリファレンス ガイドを確認すると、より理解が深まります。
Power Automateで日付比較のテストを行う良い方法はありますか?
Power Automateで日付比較のフローを作成した際、本番運用前に正しく動作するかテストすることは非常に重要です。日付データはタイムゾーン(UTCと日本標準時)の違いや文字列フォーマットの不一致によって予期せぬエラーが起きやすいため、安全かつ確実に検証を行うための方法をいくつか紹介します。
「作成」アクションを活用した値の可視化とデバッグ
日付の比較がうまくいかない原因の多くは、比較している2つの日付データの形式が揃っていないことです。これを防ぐために、条件コントロール(分岐)の直前に「データ操作」コネクタの「作成」アクションを配置して、実行時の値を可視化することをおすすめします。
- 比較元となる日付データ(SharePointやExcelから取得した値など)を「作成」アクションに入れる
- 比較先となる日付データ(utcNow関数やaddDays関数で取得した値など)を別の「作成」アクションに入れる
- フローをテスト実行し、実行履歴から2つの「作成」アクションの出力結果を見比べる
この手順を踏むことで、比較しようとしている日付のフォーマットやタイムゾーンが完全に一致しているかを視覚的に確認することができます。もし「2026-06-12T09:00:00Z」と「2026/06/12」のように形式が異なっている場合は、formatDateTime関数を用いてフォーマットを揃える修正を行いましょう。
過去や未来の日付を擬似的に作り出して検証する
「契約更新日の30日前にメールを送る」「今日が期限のアイテムを抽出する」といったフローをテストする場合、実際のデータがその日付条件に合致するまで待つのは非効率です。テスト実行時には、関数を使って意図的に日付を操作し、様々なパターンを検証するのが良い方法です。
| テストの目的 | 使用する関数の例 | 具体的な検証方法 |
|---|---|---|
| 未来の日付条件のテスト | addDays(utcNow(), 30) | 現在時刻に日数を足して、未来の期日と一致するかを比較する |
| 過去の日付条件のテスト | addDays(utcNow(), -7) | 現在時刻から日数を引いて、過去のデータのみが抽出されるかを確認する |
| 特定の日付の直接指定 | '2026-06-12T00:00:00Z' | 動的な値の代わりに静的な文字列を直接入力し、条件分岐の挙動だけをテストする |
テスト実行機能と実行履歴の活用
Power Automateには、画面右上から手動でフローを動かせるテスト機能が備わっています。一度実行した後は「最近のトリガーを使用する」を選択することで、外部システム(SharePointリストなど)のデータをわざわざ更新しなくても、同じ入力データを使って何度でも再テストが可能です。
テストを繰り返す際は、Microsoft公式のクラウド フローをテストするのガイドも参考にしつつ、実行履歴の画面で条件コントロールが「True(真)」と「False(偽)」のどちらに判定されたかを細かくチェックしてください。テスト用のダミーデータを用意し、境界値(比較する日付と全く同じ日、1日前の日、1日後の日)をすべて通して意図した通りの分岐結果になるか網羅的に確認することが、安定したフロー運用の鍵となります。
まとめ
この記事では、Power Automateでの日付比較を正しく設定する方法を解説しました。比較を成功させるための結論と重要ポイントは以下の通りです。
- 内部処理されるUTC(協定世界時)と日本標準時(JST)のズレを解消すること
- 「formatDateTime」関数で日付データの文字列フォーマットを揃えること
- 「ticks」関数でシリアル値に変換し、正確に前後関係を比較すること
これらの基本を理解すれば、期日が近づいた際のメール自動送信やリマインドなど、実務に直結するフローをスムーズに構築できます。まずは簡単な業務の自動化から、今回学んだ日付比較のテクニックを実践してみましょう。










