見出し画像

Notionの関数プロパティで、dateBetween関数の結果を微調整する方法(ブラウザ版・日本語)

Notionの関数プロパティで、dateBetween関数の結果を微調整する方法を紹介します。
日本語表示のブラウザ版に対応しています。
2023年03月08日に動作確認を行いました。

本文を読む前に、データベースを作成して、date型プロパティを2つ用意して、関数プロパティを追加して、関数ウィンドウを表示して、dateBetween関数を入力しておいてください。

前提となるデータベースの例
dateBetween(prop("日付"), prop("基準"), "days")

手順① 負の数を解消

dateBetween関数のみを使用する場合、第一引数の日付が第二引数の日付よりも昔の場合、結果は負の数になってしまいます。

結果が負の数にならないようにした方が扱いやすい場合が多いので、解消していきましょう。
以下の2つの方法から、その都度、適した方を選んでください。

候補 絶対値を計算する

もしも第一引数・第二引数の順番を気にせずに日数を求めたい場合は、dateBetween関数の戻り値をabs関数の引数に渡してください。

abs関数の引数に渡す
abs(dateBetween(prop("日付"), prop("基準"), "days"))

候補 0以上に丸める

もしも第一引数・第二引数の順番を重視したまま日数を求めたい場合は、dateBetween関数の戻り値をmax関数の第二引数に渡してください。

max関数の第二引数に渡す
max(0, dateBetween(prop("日付"), prop("基準"), "days"))

max関数の第一引数を0にすることで、第二引数が0より小さい時だけ、0に丸めることができます。

手順② 両端を処理

dateBetween関数では、期間の端は片側だけ含まれます。

例えば、2023/03/08~2023/03/09の期間を日数計算する場合、dateBetween関数の結果は1になります。

候補 両端を含みたい

期間の両端を含んで、2023/03/08~2023/03/09を2日間として扱いたい場合は、1を加算する必要があります。

1を加算
abs(dateBetween(prop("日付"), prop("基準"), "days")) + 1

この場合、手順①ではabs関数を使う方が、オススメです。

候補 両端を除きたい

期間の両端を除いて、2023/03/07~2023/03/09を1日間として扱いたい場合は、1を減算する必要があります。
つまり、中何日かを求めたい場合ですね。

1を減算
max(0, abs(dateBetween(prop("日付"), prop("基準"), "days")) - 1)

この場合、手順①ではabs関数を使い、減算した後に、max関数を使用することをオススメします。

いいなと思ったら応援しよう!