逆引きFormula 2.0 に戻る

カレンダーでタスクを設定すると日付範囲で設定されます。一方で、ボタンやオートメーションでは開始・終了を別のプロパティに設定しなければなりません。これらの処理では日付範囲の終了時刻が設定できないからです。これらを Notion カレンダーに表示するためには、どちらのパターンでも日付範囲に設定する必要があります。このためにまず Start date と Finish date に対して、_finishTime という終了時刻を得る Formula を作成します。_finishTime は以下のように場合ごとに設定されます。

  1. Finish date が存在 → Finish date を設定

  2. Finish date がなく、Start date が空か Start date に日付が設定されていない → Start date を設定

  3. Finish date がなく、Start date の終了時刻と開始時刻が等しい(終了時刻が設定されていない) → 現在時刻を設定

  4. Finish date がなく Start date の終了時刻と開始時刻が異なる → Start date の終了時刻を設定

    lets(
    	sd, prop("Start date"),
    	fd, prop("Finish date"),
    	hhmm, sd.formatDate("HHmm"),
    	ifs(
    		fd.empty().not(), fd,
    	  sd.empty() or hhmm == "0000", sd,
    	  sd.dateEnd() == sd.dateStart(), now(),
    	  sd.dateEnd()
    	)
    )
    

lets, formatDate, ifs, empty, ==, equal, dateEnddateStartnow

NotionCalendarDate は Start date の開始時刻と _finishTime の日付範囲を作成するだけです。

prop("Start date").dateRange(prop("_finishTime"))

dateRange

終了時刻チェック用