カスタマイズ

日付の範囲から日付を取り出す

概要

日付の範囲から日付を指定の間隔で取り出し、「リストから要素を取り出した時」を発生させます。

使い方

パラメーターで指定した日付の範囲から日付を1つ取り出します。取り出した日付がアクションの結果値となり、「リストから要素を取り出した時」が発生します。1回のアクション実行で取り出される日付は1つだけなので注意してください。範囲内の全ての日付を取り出すには、同じアクションを繰り返し実行する必要があります。

取り出した日付は記憶され、同じアクション番号でもう一度「日付の範囲から日付を取り出す」と、前回取り出した日付の次の日付を取り出します。このときアクション結果値は上書きされ、前回の結果値はなくなります。アクション番号が異なる場合はそれぞれのアクションで別々に日付が記憶されます。

範囲の最後の日付まで取り出し切っていた場合に「日付の範囲から日付を取り出す」と、アクションの結果値は空になります。この場合は「リストから要素を取り出した時」は発生せず、代わりに「リストからの取り出しが終了した時」が発生します。いずれの場合も「他のアクションの実行が完了した時」は発生します。

範囲の最後の日付まで取り出し切っていた状態で「日付の範囲から日付を取り出す」と、上記の通りアクションの結果は空になりますが、このとき取り出し位置はリセットされます。更にもう一度「日付の範囲から日付を取り出す」と今度は範囲の開始日から日付が取得しなおされます。

例えば日付の範囲が 2022-05-01~2022-05-03 で、増分が1日だった場合、繰り返し実行した結果は以下のようになります。

実行結果 リストから要素を取り出した時 リストからの取り出しが終了した時
1回目 2022-05-01 発生する 発生しない
2回目 2022-05-02 発生する 発生しない
3回目 2022-05-03 発生する 発生しない
4回目 発生しない 発生する
5回目 2022-05-01 発生する 発生しない

上記の例で、「他のアクションの実行が完了した時」は5回すべてで発生します。

設定するパラメーター

「開始日」「終了日」「増分」「単位」「除外する曜日」を設定します。

開始日

範囲の開始日を指定します。

日付フィールドや日時フィールドの値を参照したい場合

=日付_2

のように、「=」をつけてフィールドコードで参照してください。

現在の日付を指定したい場合は以下のようにします。

=today()

終了日

範囲の終了日を指定します。

開始日と同様、式を用いて、日付フィールドや日時フィールドの値を参照したり、現在の日付を指定することが可能です。

終了日は範囲に含まれます。ただし増分を加算した結果、この日を飛ばした場合は終了日は取得対象になりません。

例)

  • 開始日:2022-05-01 ~ 終了日:2022-05-05 増分:2日 ⇒ 2022-05-01, 2022-05-03, 2022-05-05 が順に取り出されます。
  • 開始日:2022-05-01 ~ 終了日:2022-05-04 増分:2日 ⇒ 2022-05-01, 2022-05-03 が順に取り出されます。2022-05-04 は取り出されません。

増分

2回目以降の「日付の範囲から日付を取り出す」実行時に、前回取り出した日付からの増分を数値で指定します。

式で指定することも可能です。

ゼロ以下にはできません。

単位

増分の単位を「日」「週」「月」から選択します。

例えば3か月毎の日付を取り出したければ、「増分」を「3」、「単位」を「月」にします。

除外する曜日

取り出しの際に飛ばしたい曜日があればそれを指定します。特にない場合は「除外しない」を選択してください。

「除外しない」以外を選んだ場合、増分の単位によって取り出しの動きは以下のように異なります。

  • 「日」単位の場合は、その曜日を飛ばしてその翌日を取り出します。
    • 例えば「除外する曜日」が金曜の場合、前回取り出した日が 2022-05-05(木) で増分が 1日であれば、 次に取り出すのは 2022-05-06(金) を飛ばして 2022-05-07(土) になります。
    • 「除外する曜日」が「土曜日と日曜日」であれば土日の2日分飛ばします。
  • 「週」単位の場合、「除外しない」以外を選択するとエラーになります。
  • 「月」単位の場合は、その月自体は飛ばさずに、翌日を取得します。
    • 例えば「除外する曜日」が金曜の場合、前回取り出した日が 2022-04-06 で増分が 1月であれば、 次に取り出すのは 2022-05-06(金) の翌日の 2022-05-07(土) になります。 5月自体が飛ばされて 2022-06-06 になるのではありませんので注意してください。
    • 除外する曜日で1日飛ばしが発生した場合、その更に翌月は飛ばす前の日を基準に計算されます。 上記の例であれば、2022-04-06, 2022-05-07 と続いたその翌月は、2022-05-06 になります。2022-05-07 ではありません。

注意事項

次に取り出す日付の計算は、前回取り出した日付を基準に行われます。このことは、特に月末付近で月単位の取り出しを行う場合に注意を必要とします。

例えば開始日を「2022-01-31」、増分を「1か月」とした場合を考えます。2022-01-31 の次に取り出されるのはその1か月後で 2022-02-28 となります。そして、更にその次に取り出されるのは、2022-02-28 の1か月後である 2022-03-28 になります。2022-01-31 の2か月後である 2022-03-31 ではありません

「月末」を取得したい場合、開始日を 2022-01-01 のような月初にしておき、「日付の範囲から日付を取り出す」で取り出した月初の日付から「基準日から特定の日付を取得する」で月末の日付を取得するという手順を踏むことで可能です。

関連記事