見出し画像

NotionのTableでCheckboxをtrueにした日の登録を実現する

「NotionのTableでタスク管理したい!」というのはあるあるだと思います。そして、タスクを管理するのであれば、完了日の登録は欠かせないものだと思っています。

しかし、NotionでPROPERTY TYPEを見ても該当しそうなのはないし、

スクリーンショット 2020-10-13 17.12.15

スクリーンショット 2020-10-13 17.12.22

ネットで調べても出てこない...

諦めることも考えましたが、Formulaで関数を組み合わせることで完了日の取得を実現できましたので、Tipsとしてご紹介します😸

How to

まず、やりたいことを整理します。
やりたいこと >
「タスクの完了にチェックを入れたタイミングを取得して、完了日として表示する」

これに必要なパーツを考えます。
- タスク
- 完了チェックボックス
- 完了日

以上のことから、タスクを作成するテンプレートを作成します。

スクリーンショット 2020-10-16 18.08.16

必要なパーツを作っていきます。
- タスク -> Title
- 完了チェックボックス -> Checkbox
- 完了日 -> Formula

スクリーンショット 2020-10-16 18.11.32

完了日を登録する関数を書いていきます。
NotionのFormulaはJSぽいです。また、改行はできません。適宜スペースを使って可読性を上げるとわかりやすいです。補完機能はあるので、使うと便利です。

関数は案外簡単で、下記の通りです。

prop("完了") ? formatDate(now(), "YYYY/MM/DD") : ""

解説すると、「完了チェックボックスにチェックが入っていたら現在時刻を取得して、YYYY/MM/DD形式で表示、そうでなければ空欄とする」というような関数としています。
このため、間違えてチェックを外してしまい、再度チェックし直すと完了日が書き変わってしまいます。

まとめ

チェックボックスにチェックを入れた日の取得は下記の関数で実現できます。

prop("{チェックボックスのカラム名}") ? formatDate(now(), "YYYY/MM/DD") : ""

簡単に使えるので、是非使ってみてください!
そして、この他に良い取得方法がありましたら、教えていただけると幸いです!

この記事が気に入ったらサポートをしてみませんか?