今回は、Notionの関数機能を利用して締切などまでの残り日数を表示する方法を解説します。最終的に、このように締め切りの日数を表示すること目指します。お好みで締め切りまでの時間をバーで表示することもできます。
目次
残り日数を表示する方法
まず、このように、締め切り一覧を並べたデータベースをテーブルビューで作ります。
「名前」には締め切りの名前を、タグは、日付に変更して、締め切りの日付を入力します。
そうしたら、その隣に新たなプロパティを「関数」で作ります。
編集をクリックして、以下の数式をコピペします。
dateBetween(prop("締切"),now(),"days")
すると、このように残り日数が表示されるようになります。
関数の解説をすると
dateBetween(date1, date2, unit)
で、date1とdate2をunitの単位で計算する数式となっています。date1に締め切りの日付を、date2にnow()で現在時刻を取得して代入しています。unitは”days”としていますが、お好みで”months”や”minutes”などにすることも可能です。
また、単に残り日数を表示するだけでは味気ないと感じたのであればconcat関数を利用して文字列同士を繋げることで、「締め切りまであと○○日」といった表記にすることも可能です。以下の関数をコピペしてみてください。
concat("締め切りまであと",format(dateBetween(prop("締切"), now(), "days")),"日")
すると、このように、残り日数が文字列の中で表示されるようになります。
Notionは、関数を覚えればいろいろなカスタマイズができるようになります。Notionの関数については、こちらをご覧ください。
プログレスバーで残り日数を分かりやすくする
このままでも十分分かりやすいとは思いますが、プログレスバーの機能を作って、残り日数を分かりやすく見せることもできます。まずは、作成日時を取得するための新たなプロパティ「作成日時」を作ります(非表示にして構いません)。
「作成日時」プロパティを作れば、新たなデータを追加したときに、追加したときの時刻が自動で追加されます。毎回自動で作成日時を入力しなくてもいいので、便利です。(ただし今回は説明のため、「作成日時」プロパティは使わず、手動で作成日時を入力しています)。
次に、新たな関数のプロパティを作り、以下のコードを入力します。
slice("----------", 0, floor(10 * dateBetween(prop("締切"), now(), "days") / dateBetween(prop("締切"), prop("作成日時"), "days"))) + "●" + slice("----------", 0, 10 - floor(10 * dateBetween(prop("締切"), now(), "days") / dateBetween(prop("締切"), prop("作成日時"), "days")))
そうすると、下画像のように、現時点でタスクが追加されてからどれくらいの時間が経過し、締め切りまでにどれくらいの距離があるのかが可視化されるようになります。
プログレスバーを作るためには、slice関数という関数を使っていまs。今回使った詳しい関数の仕組みについてはこちらをご覧ください。
締め切りの順番でデータを並び替える
最後に、ソート機能を利用して締切の順番でデータを並び替えるのがおすすめです。
「並び替え」>「締切」>「昇順」とすると、このように締め切りの早い順番にデータが並び替えられます。