Notionのデータベースを「ただの表」で終わらせていませんか?
その真価を引き出す鍵こそが、**「関数(Formula)」**です。
「プログラミングみたいで難しそう…」と敬遠されがちですが、実はExcelの関数と基本的な考え方は同じ。しかも最新のNotion関数(Formula 2.0)は、以前よりも格段に書きやすく、読みやすくなっています。
この記事では、基本の計算から、タスク管理で使える「残り日数カウント」、モチベーションが上がる「プログレスバー」まで、コピペで使える実例を交えて解説します。
1. 最初に知っておくべき「Notion関数の基本」
まず、以前のバージョン(Formula 1.0)を知っている方は、頭を切り替えてください。現在はよりスマートな書き方が主流です。
プロパティの指定方法
昔は prop("価格") と書いていましたが、現在はプロパティ名(トークン)をそのままクリックするだけでOKです。
- 旧:
prop("単価") * prop("個数") - 新:
単価 * 個数(見た目がスッキリ!)
エディタの進化
数式エディタは、長いコードでも改行して見やすく整形できるようになりました。また、エラー箇所も赤線で教えてくれるため、修正が簡単です。
2. 【カテゴリ別】コピペで使える関数テクニック
ここからは、実務ですぐに使える関数をカテゴリー別に紹介します。
① 算術演算(数値の計算)
基本の四則演算は、Excelと同じ感覚で使えます。
- 消費税込み価格の計算JavaScript
本体価格 * 1.1 - 四捨五入(round)Notionの round() は整数にする関数です。小数を残したい場合は工夫が必要です。JavaScript
/* 小数点第1位まで残す場合(10倍して丸めて10で割る) */ round(数値 * 10) / 10
② 論理演算(if文による条件分岐)
「もし〜ならA、そうでなければB」という条件分岐は、Notion関数の要です。
- チェックボックスでステータス表示JavaScript
if(完了, "✅ 完了", "⬜ 未着手")解説: 「完了」プロパティ(チェックボックス)にチェックが入っていれば「✅ 完了」、そうでなければ「⬜ 未着手」と表示します。 - 複数の条件(ifs)条件が3つ以上ある場合は、if を入れ子にするのではなく、ifs 関数を使うと綺麗に書けます。JavaScript
ifs( 進捗 == "完了", "🟢", 進捗 == "進行中", "🔵", "⚪️" /* どの条件にも当てはまらない場合 */ )
③ 日付・時刻(期限管理の自動化)
タスク管理で最も役立つのがこの分野です。
- 締切までの残り日数(dateBetween)JavaScript
dateBetween(締切日, now(), "days")解説: 「締切日」と「現在時刻(now)」の差を「日数(days)」で返します。過去の日付だとマイナスになります。 - 「あと何日」を親切に表示上記の計算と if を組み合わせると、リマインダーが作れます。JavaScript
let(残り日数, dateBetween(締切日, now(), "days"), if(残り日数 < 0, "⚠️ 期限切れ", if(残り日数 == 0, "🔥 今日まで", "あと " + format(残り日数) + " 日")) )Pro Tip:let関数を使うと、「残り日数」という変数を定義でき、何度も同じ計算式を書かずに済みます。
④ 文字列操作と見た目(Visuals)
Notion関数ならではの機能として、文字の色やスタイルを変更できます。
- プログレスバー(進捗バー)完了したタスクの割合をバーで表示します。JavaScript
/* 数値プロパティ「進捗率(0〜1)」がある前提 */ style("■".repeat(round(進捗率 * 10)), "green") + style("□".repeat(10 - round(進捗率 * 10)), "gray") + " " + format(round(進捗率 * 100)) + "%"結果イメージ: 🟩🟩🟩🟩🟩⬜️⬜️⬜️⬜️⬜️ 50%
3. 初心者が陥りやすいエラーと対処法
関数を書いているとエラーが出ることがあります。よくある原因トップ3を紹介します。
| エラーメッセージ / 現象 | 原因と対策 |
| Type mismatch (型の不一致) | 文字と数字を足そうとしています。 例えば "合計: " + 100 はエラーになります。数字を文字に変換する format(100) を使い、"合計: " + format(100) と記述しましょう。 |
| ) が足りません | カッコの閉じ忘れです。 特に if 関数を入れ子にしている時に起こりがちです。数式エディタ上で対応するカッコがハイライトされるので確認しましょう。 |
| プロパティが見つかりません | プロパティ名の変更・削除。 数式内で参照しているプロパティ名を後から変更した場合、自動追従されないことがあります。再度プロパティを選択し直してください。 |
まとめ:関数は「コピー&修正」から始めよう!
Notionの関数は、一からすべて暗記する必要はありません。
まずは**「使いたい機能のコードをコピーして、プロパティ名だけ自分のデータベースに合わせて書き換える」**ことから始めてみてください。
- 四則演算で集計する。
- if関数で表示を変える。
- style関数で色をつける。
この3ステップで、あなたのデータベースは劇的に使いやすくなります。
Next Step: お手持ちのタスク管理データベースに「数式」プロパティを追加し、上記の「締切までの残り日数」コードをコピペしてみましょう。タスクの優先順位が一目でわかるようになりますよ!
