Notionは、日々のタスク管理からドキュメント共有まで、私たちの仕事を支えるワークスペースとして今や欠かせない存在になっていますよね。その中でもデータベースの「関数(Formula)」プロパティを使いこなせば、計算や日付の自動処理ができるようになり、データベースの利便性が劇的にアップしますよ。
一方で、「関数」と聞くとプログラミングのようで、初心者には少し難しそうに見えるかもしれません。今回は、Notion関数の基本の仕組みや、エクセル・スプレッドシートとの違いを優しく紐解いていくので、ぜひリラックスして読み進めてみてくださいね。
- Notionの関数は同じ行にある他のプロパティを使って自動で計算してくれる便利な機能
- セル単位ではなく「プロパティ(列)」全体に一度で数式を適用する仕組み
- エクセルやスプレッドシートと違い、数式を下にドラッグしてコピーする必要がない
- プロパティの名前で直感的に指定でき、Formula 2.0ではより簡単なドット記法も使える
ジャンプできる目次📖
Notion関数の基本の仕組みとエクセル・スプレッドシートとの違い
「関数」という言葉を聞くと、学生時代の数学の授業を思い出して身構えてしまったり、エクセルでの気の遠くなるような数式の打ち込み作業を思い出したりするかもしれません。でも、安心してくださいね。Notionのデータベースで使われている関数(Formula)は、私たちの日常的な作業を楽にするために設計された、とてもスマートで優しい機能なんです。
エクセルやGoogleスプレッドシートを使い慣れている方ほど、最初は「あれ?セルの番地(A1など)を指定できないの?」と戸惑うかもしれませんが、Notionならではの「データベース設計思想」を理解すると、むしろ「こっちの方が圧倒的にシンプルだし、データが壊れなくて安心!」と感じるようになりますよ。ここでは、Notion関数の基本的なメカニズムと、表計算ソフトとの根本的なアプローチの違いについて、順を追ってじっくり解説していきますね。
Notionの「関数(Formula)」プロパティとは何ができる?
Notionのデータベースにおける「関数(Formula)」とは、データベースの列(属性)に指定できるプロパティの種類の一つです。テキスト、数値、日付、セレクトといったおなじみのプロパティと同様に、列を新しく追加するときに「関数」を選択することで使い始めることができます。
このプロパティの最大の特徴は、「手動でデータを入力するのではなく、他のプロパティに入力されているデータをベースにして、設定した計算式に従って結果を全自動で導き出す」という役割を持っていることです。
例えば、タスク管理用データベースに「タスク名」「締切日」「進捗状況」というプロパティがあるとします。ここに新しく関数プロパティを追加し、以下のような自動計算を行うことができます。
- 締切までのカウントダウン: 締切日と今日の日付を引き算して、「残りあと3日です」「期限を2日過ぎています!」といったメッセージを自動表示させる
- 優先度の自動判定: 「進捗状況が未着手」かつ「締切まであと1日」の場合に、自動的に「🔥最優先」というフラグを立てて目立たせる
- 進行状況のビジュアル化: 完了したサブタスクの数をもとに、進捗率を計算して「▓▓▓░░░ 50%」のような進捗バーを自動生成する
このように、私たちの代わりにデータを監視し、常に最新の計算結果をリアルタイムでアップデートしてくれるのが関数プロパティなんです。
Notionの関数を理解する上で、一番重要なルールは「計算処理はすべて同じ行(レコード)の中で完結する」ということです。Notionのデータベースは、1つひとつの行が独立した「ページ」としてのデータを持っています。そのため、関数が参照できるのは「同じページ(同じ行)の中にあるプロパティの値」だけに制限されています。「1つ上の行のセルの値と足し算する」といった、スプレッドシートではおなじみの縦方向の自由なセル参照は基本的にはできません。
この一見すると不十分に思えるルールですが、実はデータベースの整合性を守るために非常に重要な仕組みなんです。行を並べ替えたり、フィルターをかけたりしても、計算結果が崩れることは絶対にありません。いつでも正確なデータが表示されるという安心感は、Notionならではの魅力ですね。
- 数値の四則演算(合計、平均、消費税の計算など)
- テキストの結合や一部分の切り出し(「苗字」+「名前」を結合するなど)
- 日付の計算(期限までの日数カウント、特定の曜日のみの判定など)
- 条件分岐(「もし〇〇ならA、そうでなければB」というIF判定)
- 関係性を持つ別データベース(リレーション)からの集計や計算
最初は「難しそう」と感じるかもしれませんが、まずは「同じ行のデータを組み合わせた全自動の計算機」というイメージを持っていただければバッチリですよ。
スプレッドシートやExcelの数式との違いと大きなメリット
普段からエクセルやGoogleスプレッドシートを使って見積書やタスクリストを作成している方は多いですよね。同じように数式を使って計算する仕組みですが、Notionの関数には、スプレッドシートの弱点を克服するような多くのメリットがあるんです。
まず、一番の違いは「数式をコピーして下に引っ張る(ドラッグする)作業が一切不要」という点です。スプレッドシートの場合、新しくデータを入力する行を追加した際、前の行に入っていた数式を下にコピーする必要がありますよね。たまにコピーし忘れて計算が空白のままになってしまったり、途中で誰かがセルの中身を直接書き換えてしまって数式が壊れてしまったりした経験はありませんか?(ちなみに、スプレッドシートの数式が多すぎてシート自体の動きが遅い、重くて開かないといったストレスを抱えているなら、以前私が書いたの記事もぜひ読んでみてくださいね。サクッと動作を軽くするコツをまとめていますよ。)
Notionの関数では、このようなトラブルとは無縁です。なぜなら、関数は「セル」に書き込むのではなく、「プロパティ(列)全体」に対して一つの数式を登録するからです。一度ルールを決めてしまえば、データベースにデータを1行追加するだけで、その新しい行にも自動的に関数が適用されて計算がスタートします。一部の行だけ関数を消してしまったり、数式を壊してしまったりする心配は構造上ありません。これだけでも、管理のストレスが半分以下になりますよね。
次に、数式の中での「データの指し示し方(参照方法)」が非常に分かりやすいのも特徴です。スプレッドシートで数式を書くときは、「=A2 * B2」のようにアルファベットと数字の座標を使いますよね。後からそのシートをメンテナンスしようとしたときに、「A2ってどの列のことだっけ?」といちいち横を確認しなければならず、解読に時間がかかります。これに対してNotionは、「プロパティ名(列の名前)」をそのまま名前で指定します。たとえば、「売上」と「消費税率」のプロパティを掛け算したいときは、数式の中でそれぞれの名前を選ぶだけです。そのため、数式全体が「何のためにどんな計算をしているのか」が、誰の目から見ても一目瞭然になります。
さらに、Notionは近年、関数エディタの仕様を「Formula 2.0」と呼ばれる最新バージョンにアップデートしました。これによって、記述の仕方がよりスマートでプログラミングに近いスタイルへと進化しています。具体的には、プロパティを直接選択し、その後にドット(.)で繋いで命令を記述する「ドット記法(チェイン接続)」がメインになりました。例えば、従来の仕様では prop("売上") のように記述していましたが、新しいエディタではプロパティを感覚的にポチポチと選ぶだけで指定でき、さらに prop("売上").add(10) のように「売上に10を足す」といった処理を直感的にドットで繋げて記述できます。このドット記法のおかげで、関数をいくつも重ねてカッコだらけになっていた複雑な数式が、左から右へ読むだけでスッキリ理解できるようになりました。
- ミスが起こらない: 個別のセルを手入力で上書きできないので数式が壊れない
- 数式の記述が英語感覚で読める: 「セル番号」ではなく「プロパティ名」で書くため後々のメンテナンスが楽
- 自動適用の安心感: データを新しく追加した瞬間、すべての行にその場で計算が反映される
このように、Notionの関数はただの計算機能ではなく、データベース全体の信頼性と安全性を高めながら、私たちの手動作業を極限まで減らしてくれる素晴らしいパートナーなんですよ。
| 比較項目 | Notionの関数(Formula) | Excel・スプレッドシートの数式 |
|---|---|---|
| 定義・適用範囲 | 列(プロパティ)全体に一元適用。行ごとに数式を変えることはできない。 | セル単位で個別に数式を設定。セルごとに行う計算を自由に変更可能。 |
| 参照の単位 | 同じ行の中の「プロパティ名(列名)」を指定して参照する。 | 「A1」「B2」といった特定のセルの座標を指定して参照する。 |
| オートフィル(自動適用) | 完全自動。新しく行(レコード)を追加するだけで自動で計算される。 | 手動またはショートカットで数式をコピー(ドラッグ)する必要がある。 |
| 記述のスタイル | Formula 2.0によるモダンなドット記法(例:prop("売上").add(10))をサポート。 |
関数の中に別の関数を入れ子にする記述(例:IF(IF(...)))が主流。 |
| 他行・他シートとの連携 | 基本的には同一行内のみ。リレーションやロールアップを介して連携する。 | 別シートや任意のセルから自由自在にデータを参照・結合できる。 |
【画像付き】Notionで関数プロパティを追加・設定する基本手順
さて、ここからは実際にNotionのデータベースを使って、関数プロパティを追加し、数式を設定していく具体的な手順を解説していきますね。最初は「なんだか難しそう…」と感じるかもしれませんが、ステップ順に進めていけば意外とあっさりとできてしまいますよ。私と一緒に、一つずつ操作を確認しながら進めていきましょう!
まずは、関数プロパティを追加して数式を入力するまでの一連の流れを、全体像として画像で確認しておきましょう。

この画面イメージを頭に置きつつ、実際の手順1から操作を進めてみてくださいね。
手順1:データベースに「関数」プロパティを新規追加する
まずは、計算を行いたいデータベースを開きましょう。今回は最も直感的に操作できる「テーブルビュー」を例にして説明しますね。
テーブルビューの右端にある「+」ボタン(新規プロパティの追加)をクリックします。もし、ボードビューやギャラリービューなどを使っている場合は、任意のページを開いて、ページ上部にある「プロパティを追加」をクリックすれば同じように進められますよ。データベースの形に関わらず、プロパティを追加する基本的な流れは同じなので安心してくださいね。
「+」ボタンをクリックすると、追加できるプロパティの一覧が表示されます。テキストや数値、チェックボックスなど様々な選択肢が並んでいますが、少し下にスクロールして「関数(Formula)」を探しましょう。数式のアイコン(f(x)のようなマーク)が目印です。これを見つけたらクリックして選択します。
関数プロパティを追加すると、初期状態では「関数」という名前のプロパティが作成されます。このままでも動くのですが、後から数式の中でこのプロパティを呼び出すときに分かりづらくなってしまいます。そのため、あらかじめ分かりやすい名前に変更しておくのが大きなコツです。例えば、売上を計算するなら「合計金額」や「税込価格」など、計算結果がひと目で伝わる名前をつけておくのがおすすめですよ。
データベースとスプレッドシートの違いを意識しよう
ExcelやGoogleスプレッドシートでは、特定の「セル(例えばA1やB2など)」に対して数式を入力しますよね。しかし、Notionのデータベースでは「列(プロパティ)全体」に対して数式を設定するという特徴があります。1箇所に数式を設定すれば、その列のすべての行(データ)に自動的に同じ計算ルールが適用されるので、入力の手間が省けてとても便利ですよ。
ちなみに、普段ExcelやGoogleスプレッドシートで大量のデータを管理していて「動作が重くて編集しづらい…」と悩んでいる方は、Notionへデータを移行するのも一つの手です。もし、スプレッドシートの動作そのものを軽くして使い続けたい場合は、こちらのを紹介した記事も合わせて参考にしてみてくださいね。Notionとスプレッドシート、それぞれの特徴を理解して使い分けるのがベストかなと思います。
手順2:数式エディタを起動して計算対象のプロパティを選択する
プロパティを追加して名前を決めたら、次は数式を入力するための「数式エディタ」を起動しましょう。関数プロパティを新規追加した直後であれば、自動的に数式エディタのポップアップが開いているはずです。もし閉じてしまった場合や、後から数式を書き直したい場合は、関数プロパティのセル(空欄になっている部分)をどこでも良いのでクリックしてみてください。そうすると、「数式を編集」というボタンが表示されるので、それをクリックすればエディタを開くことができますよ。
数式エディタが開くと、次のようなレイアウトのウィンドウが表示されます。
- 上部のテキスト入力エリア: 実際に数式を入力したり編集したりする場所です。
- 左側のサイドバー: 計算に使用できるデータベース内のプロパティ一覧や、Notionで使える関数、定数、演算子などがカテゴリ分けされて並んでいます。
数式を組み立てる際は、キーボードで直接手入力することもできますが、初心者のうちはサイドバーを活用するのが最も確実で安全な方法ですよ。特に、計算対象となる他のプロパティ(「単価」や「数量」など)を指定するときは、サイドバーの「プロパティ」セクションに表示されている名前を直接クリックしましょう。クリックするだけで、入力エリアのカーソルがある場所に、そのプロパティが正しく挿入されます。
手入力でプロパティ名を書こうとすると、大文字・小文字の間違いや、スペースの有無などでエラーになってしまうことがよくあります。サイドバーから選択すればそうしたミスを防げるので、まずは「クリックして選択する」という操作に慣れていくのがおすすめかなと思います。
また、Notionの新しい数式仕様(Formula 2.0)では、エディタに入力されたプロパティがテキストではなく、丸みのあるグレーの「カプセル(トークン)」として視覚的に表示されます。これはデータベース内でそのプロパティが正しく認識されている証拠ですので、安心してそのまま進めてくださいね。もしキーボードで直接入力したい場合は、prop("プロパティ名")のように入力するか、文字を打ち始めると表示されるオートコンプリート候補から選ぶことで、同じようにカプセル化されたプロパティを挿入できますよ。
入力中の数式が消えてしまわないための注意点
Notionの数式エディタは、入力の途中でエディタ以外の場所(データベースの背景など)をクリックしてしまうと、それまで書いていた数式が保存されずに消えてしまうことがあります。数式が完成したら、必ずエディタ右下にある「完了」ボタンを押すか、ショートカットキーの「Ctrl + Enter」(Macの場合は「Cmd + Enter」)を押して、設定を確定させてくださいね。
手順3:簡単な四則演算とテキスト結合を実行する
それでは、いよいよ実際に数式を入力して、データを計算したりテキストを結合したりしてみましょう!ここでは、初心者の方がまずマスターしたい3つの基本操作を、具体例を交えて詳しく解説していきますね。
① 基本の四則演算(足し算・引き算・掛け算・割り算)
最もよく使われるのが、数値プロパティ同士の計算です。Notionの数式では、一般的なプログラミングやExcelと同様に、以下の記号(演算子)を使って計算を行いますよ。
| 計算の種類 | 使用する記号 | 具体例 | 動作の説明 |
|---|---|---|---|
| 足し算(加算) | + | prop("基本給") + prop("手当") |
基本給と手当の金額を足し合わせます。 |
| 引き算(減算) | - | prop("売上") - prop("経費") |
売上から経費を差し引いた利益を求めます。 |
| 掛け算(乗算) | * | prop("単価") * prop("数量") |
単価と数量を掛け合わせて合計金額を出します。 |
| 割り算(除算) | / | prop("実績") / prop("目標") |
目標に対する実績の割合(達成率)を出します。 |
例えば、商品の合計金額を求めたい場合は、数式エディタに prop("単価") * prop("数量") と入力します。具体的な操作手順は以下の通りです。
- 1. 数式エディタの入力エリアをクリックしてカーソルを合わせます。
- 2. 左側のサイドバーのプロパティ一覧から「単価」をクリックします。
- 3. キーボードから半角の「*」を入力します。
- 4. 再びサイドバーのプロパティ一覧から「数量」をクリックします。
- 5. 入力エリアの下にプレビューが表示され、正しく計算されていることを確認したら「完了」を押します。
商品の単価が「300」、数量が「5」だった場合、この関数プロパティには自動的に「1500」という数字が表示されます。手動で計算して入力する必要は一切ありません。もし数量が「6」に変更されたら、合計金額も一瞬で「1800」に更新されますよ。このリアルタイムな連動性こそが、関数の最大の強みです。
② テキストの結合(文字列を繋ぐ)
Notionの関数プロパティは、数値の計算だけでなく、テキスト同士をくっつけることも得意です。テキストを結合するときも、実は足し算と同じ「+」記号を使いますよ。
例えば、顧客管理データベースで「氏名」プロパティの後ろに「様」という敬称を自動でつけたい場合は、以下のように入力します。
prop("氏名") + " 様"
ここでポイントなのは、自分で直接入力するテキスト(この場合は「 様」)を半角のダブルクォーテーション(" ")で囲むという点です。これを忘れてしまうと、Notionが「様という名前のプロパティがあるのかな?」と勘違いしてエラーを出してしまいます。テキストをそのまま表示させたいときは、必ず "テキスト" のように囲むルールを覚えておきましょうね。
また、複数のプロパティを結合することも可能です。例えば、prop("都道府県") + prop("市区町村") + prop("番地") と繋げれば、バラバラに入力された住所の情報を一つの綺麗な住所文字列として自動生成できます。これだけでも、データの見栄えがぐっと良くなりますよ。
さらに、空白を挟みたい場合は、prop("苗字") + " " + prop("名前") + " 様" のように、ダブルクォーテーションの間に半角スペースを挟むことで、苗字と名前の間を少し空けて表示することもできますよ。細かい見栄えの調整も自由自在ですね。
③ 数値の表示フォーマットを設定する(通貨やパーセント)
計算結果が出たものの、ただの数字が並んでいるだけでは、それが「円」なのか「ドル」なのか「%」なのか分かりにくいですよね。Notionでは、関数プロパティの表示形式(フォーマット)を簡単に変更することができます。
設定方法はとても簡単です。作成した関数プロパティの列のヘッダー(プロパティ名が書いてある一番上のセル)をクリックし、メニューから「プロパティを編集」を選択します。その中にある「数値の形式」という項目をクリックすると、以下のようなフォーマット一覧が表示されますよ。
- 円 (¥): 日本円の通貨表記にします(カンマ区切りも自動で入ります)。
- パーセント (%): 0.05という計算結果を「5%」のように割合表記にします。
- 米ドル ($): ドル表記にします。
- 小数点以下の桁数: 小数点以下をどこまで表示するかを細かく調整できます。
適切なフォーマットを選ぶだけで、単なる「10000」という数字が「¥10,000」に変わり、データベースの視認性が一気にアップします。数式を組んだ後は、この表示フォーマットの設定までセットで行う習慣をつけておくといいですね。
この表示フォーマットの変更は、画面上の見え方を変えているだけなので、内部的なデータの数値自体は「生の数値」のまま保たれています。そのため、フォーマットを変更した関数プロパティを、さらに別の関数プロパティで計算の対象にすることも可能です。二重、三重に計算を組み合わせることもできるので、アイデア次第でどんどん高度な仕組みを作ることができますよ。
エラーが起きたときのチェックポイント
数式を入力して「完了」を押したのに、赤字でエラーが表示されて計算されないことがあります。そんなときは、以下の3点を確認してみてくださいね。
- データ型は合っているか: 数値の計算(掛け算など)をしようとしているプロパティが、実は「テキスト」プロパティになっていませんか?数値計算ができるのは「数値」または「関数(結果が数値のもの)」だけです。
- ダブルクォーテーションを忘れていないか: 数式内で直接使うテキストが
" "で正しく囲まれているか確認しましょう。 - カッコや記号が半角になっているか: Notionの数式では、全角の「*」や「+」、全角のカッコ「()」は認識されずエラーの原因になります。必ずすべて半角英数字で入力するようにしてくださいね。
まずはこの基本操作を繰り返して、Notionデータベースの中で値が自動的に変わる面白さをぜひ体験してみてください。もしNotionの公式サポート情報をもっと詳しく読んでみたいと感じたら、Notionの数式に関する公式ガイドも非常に参考になりますので、困ったときは一度チェックしてみるのがおすすめですよ。
初心者向け実用テクニック:IF関数での条件分岐と進行状況の可視化
Notionの関数機能(Formula)の基礎を理解したら、次は「実際に使える便利な仕組み」を自分のデータベースに組み込んでみたくなるものですよね。データベースに登録したデータをもとに、自動でステータスが切り替わったり、美しいインジケーターで進捗状況が表示されたりするようになると、Notionを操作する楽しさは一気に何倍にも膨れ上がります。
特にプロジェクト管理や毎日のタスク管理、習慣トラッカーなどを作成する際、関数の力を使って情報を視覚的に整理することは、単なる「見た目の変化」にとどまりません。一目で優先すべきタスクや遅れているタスクを把握できるようになるため、作業効率の向上やミスの防止に直結するのですよ。そこで今回は、初心者の方でも数式をコピー&ペーストするだけで簡単に真似できる、データベースを劇的に使いやすくするための3つの実用的なテクニックをステップ・バイ・ステップで詳しく紹介します。どれも非常に汎用性が高く、アレンジもしやすいものばかりですので、ぜひあなたのワークスペースでも実際に手を動かしながら試してみてくださいね。

テクニック1:IF関数を使って条件に応じたステータス名を表示する
まず最初にご紹介するのは、関数の基本中の基本でありながら、最も使用頻度が高い「IF(イフ)関数」を活用したテクニックです。IF関数とは、一言で言うと「もし〇〇ならAを表示し、そうでなければBを表示する」という条件判定を行うためのものです。例えば、タスクの管理を行うデータベースで、「完了」という名前のチェックボックスにチェックを入れた瞬間に、自動的にステータス表示が「⏳ 進行中」から「✅ 完了」へと切り替わる仕組みを作ってみましょう。
このように進捗をビジュアルアイコン付きのテキストで自動表示させることで、データベースを一覧したときに、どのタスクが終わっていてどれが残っているのかが直感的に判断できるようになりますよ。設定方法は非常にシンプルです。
まず、データベースに「完了」という名前のチェックボックスプロパティを作成しておきます。次に、新しく関数プロパティを作成し、以下の数式を入力してみてください。
【基本のIF関数コード】
if(prop("完了"), "✅ 完了", "⏳ 進行中")
この式がどのように動いているのか、少し噛み砕いて説明しますね。Notionの数式において、チェックボックスプロパティは「チェックが入っている=真(true)」、「チェックが入っていない=偽(false)」という情報を持ちます。IF関数は、第1引数(最初のカンマの前)に指定した条件が正しい(true)場合に第2引数の内容を出力し、正しくない(false)場合に第3引数を出力します。したがって、「完了」のチェックボックスがONになると「✅ 完了」が表示され、OFFのときは「⏳ 進行中」が表示されるという、動的で無駄のない切り替えが実現できるのです。
さらに、Notion Formula 2.0からは、3つ以上の複雑な条件分岐を行いたい場合にも対応できる非常に強力な「ifs関数」が追加されました。これまではIF関数を何重にも入れ子(ネスト)にする必要があり、数式が複雑で読みづらくなっていましたが、ifs関数を使えば条件を並べるだけでスマートに記述できます。例えば、セレクトプロパティである「ステータス」の値に応じて表示を切り替えたい場合は、以下のようなコードが活躍します。
【複数条件に対応するifs関数のコード】
ifs(prop("ステータス") == "完了", "🎉 完了!", prop("ステータス") == "進行中", "🚀 進行中", "💤 未着手")
※この式では、ステータスの値が「完了」ならクラッカーマーク、「進行中」ならロケットマーク、それ以外(未着手)ならお休みマークというように、優先度順に条件を上からチェックして該当するアイコンとテキストを返してくれます。
チェックボックスやセレクトプロパティと連動させて、自動的に画面上のステータスが変わる気持ちよさは、Notionならではの醍醐味です。まずはこのIF関数を使って、簡単なステータスの自動更新から始めてみましょう。
テクニック2:進捗率の数値から「プログレスバー」や「リング」を表示する
次にご紹介するのは、データベースの「進捗率」を視覚的に美しい「プログレスバー(進行状況バー)」や「プログレスリング(進行状況円)」として表示するテクニックです。プロジェクトの全体タスクのうち、何%が消化できているかをグラフィカルに表現できるため、ダッシュボードなどにこの表示があるだけで、全体の進行ペースが視覚的にパッと把握できるようになります。
実は、かつての古いNotion(Formula 1.0)の時代には、プログレスバーを表示するために「■」や「□」といった文字を割り算のパーセンテージに応じて「slice」関数などで細かく切り貼りするという、呪文のような非常に長いコードを自力で書く必要がありました。そのため、初心者にとっては導入のハードルが非常に高かったのですね。
しかし、現在のNotionではそのような苦労は一切不要になりました!関数としては単純な割り算の数式を記述して数値を出力し、プロパティ側の設定を変更するだけで、誰でも一瞬で綺麗なバーやリングを表示させることができますよ。具体的な手順を見ていきましょう。
まず、データベースに以下の2つの数値プロパティを用意します。
- 「完了数」:終わったタスクの数などを入力する数値プロパティ
- 「全体数」:タスクの総数を入力する数値プロパティ
そして、新しく作成した関数プロパティに、以下のシンプルな割り算のコードを入力します。
【進捗率を計算する基本コード】
prop("完了数") / prop("全体数")
この数式を保存した時点では、画面には「0.5」や「0.75」といったただの小数が表示されるだけです。ここからの設定が魔法のようなポイントになります。
関数プロパティのヘッダーメニューをクリックし、「プロパティを編集」を選択します。設定画面が開いたら、まず「数値のフォーマット」を「パーセント」に変更しましょう。これで「50%」や「75%」という表示になります。さらに、その下にある「表示方法」の項目を確認してください。デフォルトでは「数値」になっていますが、これを「バー」または「リング」に変更します。すると、画面上の数値の隣に自動的に綺麗なプログレスバーやリングが描画されるようになります!バーやリングの色も、お好みのテーマカラーに合わせて自由に変更可能ですよ。
ただし、ここで1点だけ初心者が陥りがちな注意点があります。もしデータベースの行を追加したばかりで「全体数」プロパティが空欄、もしくは「0」が入っている場合、数学的に「0で割る」ことになってしまい、画面にエラーや「NaN」といった崩れた表示が出てしまいます。これだと少し格好悪いですよね。そこで、以下のようにIF関数を使ってエラー回避の処理を加えてあげるのが、実用上の大きなコツです。
【エラーを防止する安全な進捗計算コード】
if(prop("全体数") > 0, prop("完了数") / prop("全体数"), 0)
※この式を追加しておけば、「全体数」に1以上の数値が入っているときだけ割り算を行い、全体数が設定されていないか0のときはエラーを出さずに「0%」を表示してくれます。データベースの表示が崩れるのを防ぐために、ぜひこちらの安全対策版の数式を使ってみてくださいね。
テクニック3:締切までの残り日数を自動計算する
最後にご紹介するのは、タスクやプロジェクトの「締切日」をもとに、今日から締め切りまであと何日残されているかを自動計算し、カウントダウン表示するテクニックです。締切が近づいているタスクを強調したり、すでに期限が過ぎてしまっているタスクに警告を出したりする仕組みは、タスク漏れをなくすために非常に効果的です。
この残り日数を計算するためには、Notionで用意されている日付同士の差分を計算する「dateBetween(デイトビトウィーン)」という関数を使用します。Notion Formula 2.0では、ドットを使った記法で直感的に書けるようになっており、基本的には以下のように指定します。
prop("締切日").dateBetween(now(), "days")
ここで登場する `now()` は「現在の日時」を取得する関数です。しかし、実はこのままだと、`now()` は現在の「時間」まで細かく含んで計算するため、例えば今日が締切日であっても「残り0.5日」のように端数が発生し、判定がズレてしまうことがあります。そこで、日付の単位をきれいに揃えるために、`.startOfDay()` という関数をくっつけて、今日や締切日の「その日の始まり(午前0時0分)」同士で比較計算を行うのがおすすめです。これにより、時間単位の細かいズレに悩まされることなく、すっきりとした日付単位の計算が可能になります。
さらに、実用性を高めるために、残り日数に応じて「警告マーク」や「完了・未設定」のアラートを自動で振り分ける条件分岐コードを作ってみましょう。Formula 2.0で導入された、コードをすっきり整理できる「let関数」と「ifs関数」を組み合わせた、とっておきのテンプレートをご紹介します。
【残り日数を自動で可視化するアドバンスコード】
let(
days,
prop("締切日").startOfDay().dateBetween(now().startOfDay(), "days"),
ifs(
empty(prop("締切日")), "📅 締切未設定",
days < 0, "⚠️ 期限切れ (" + abs(days) + "日超過)",
days == 0, "🔥 本日が締切!",
days <= 3, "⏳ あと " + days + " 日(間近!)",
"✅ あと " + days + " 日"
)
)
一見すると少し長いコードに見えるかもしれませんが、仕組みは非常にシンプルで合理的ですので安心してくださいね。以下にポイントを詳しく解説します。
- let関数の役割:最初の `let(days, ..., ...)` という部分は、数式の中で何度も使う「残り日数の計算結果」を、一時的に `days` という短い変数名に保存しているものです。これにより、同じ長い計算式を何度も書く必要がなくなり、数式全体の見通しが驚くほど良くなります。
- empty関数の役割:`empty(prop("締切日"))` は、「もし締切日が空欄だったら」という条件です。日付が入っていない状態で計算を行うと不自然な数字が出てしまうため、まずは未入力の場合に「📅 締切未設定」と表示させて処理を優しくブロックしています。
- abs関数の役割:期限を過ぎてしまった場合、`days` の計算結果は「-2」や「-5」といったマイナスの数値になります。そこで、数値をプラスの絶対値に変換してくれる `abs` 関数を使って、`abs(days) + "日超過"` とすることで、「⚠️ 期限切れ (2日超過)」のような、直感的でわかりやすい警告メッセージを合成しているのですよ。
この仕組みをあなたのタスク管理データベースに組み込んでおけば、毎朝Notionを開いたときに「今日絶対にやらなければいけないタスク」や「すでに遅れてしまっている作業」が一目瞭然になります。期限管理のストレスから解放されること間違いなしですので、ぜひ試してみてくださいね。
ちなみに、このようにNotion内で高度なデータベース連携や関数を駆使して管理を行っていると、データ量が膨大になった際にページの表示や動作が少し重く感じられる瞬間があるかもしれません。これはNotionに限らず、あらゆるデータ管理ツールで共通の悩みと言えます。もしNotionだけでなく、仕事でよく使うExcelやGoogleスプレッドシートなどの動作速度でも頭を悩ませているなら、以前に紹介したについての記事も、役立つヒントが詰まっていますので合わせて参考にしてみてくださいね。適切なデータ管理のテクニックを知っておくことで、どんなツールでも常にサクサク快適に作業を進めることができますよ。
【もっと詳しく関数を学びたいあなたへ】
Notionで使える関数や演算子の全種類、それぞれの詳しい文法仕様については、Notion公式のヘルプセンター(Notion ヘルプセンター: 公式式ガイド)に非常に網羅的な解説が掲載されています。本記事で基本をマスターした後は、ぜひ公式のリファレンスもパラパラと眺めてみると、「こんなこともできるんだ!」という新しい発見があって面白いですよ。
Notionの関数でよくあるエラーと解決策(FAQ)
Notionの関数(数式プロパティ)を使ってデータベースの管理を自動化しようとすると、思い通りに動かなかったり、数式を入力したのに保存ボタンがグレーアウトしたままになって焦ってしまった経験はありませんか?プログラミングの知識がない初心者の方にとって、エラー画面を前にすると「自分にはやっぱり難しかったのかも…」と挫折しそうになってしまいますよね。
物理的な入力ミスや型に関する少しのルールを知っておくだけで、Notionの関数エラーは簡単に防ぐことができるんですよ。今回は、初心者の方が特につまずきやすいエラーの代表例とその具体的な解消法、取得しておくと便利な関数の最新仕様について、Q&A形式で詳しく解説していきますね。
Q1:数式を保存するときに「型が一致しません(Type mismatch)」と出る原因は?
数式を保存しようとしたときに「型が一致しません(Type mismatch)」という赤文字のエラーが表示されてしまう現象は、Notionの関数づくりで最も多く遭遇するトラブルの一つです。これは、計算や連結に使おうとしているデータの種類(データ型)が揃っていないことが原因なんですよ。
Notionの関数機能は、データ型に対してとても厳格なルールを持っています。例えば、「テキスト(文字列)」と「数値(数字)」はコンピュータ内部で完全に別物として区別されているため、これらを直接足し算しようとすると、Notion側が「計算方法がわからないよ」とエラーを出してしまうわけですね。
特によくやってしまいがちなのが、データベースにある数値プロパティの「売上額」に対して、そのまま「円」というテキストを連結させようとするケースです。
エラーになる書き方の例
prop("売上額") + "円"
※「売上額」というプロパティが数値型である場合、テキストである「円」を直接「+」で繋ごうとすると型エラーになります。
この問題を解消するためには、数値型のデータを一旦テキスト型に変換(キャスト)してあげる必要があります。ここで大活躍するのが、データをテキストに変換してくれるformat()関数、あるいはドット(.)で繋ぐ.format()という便利な命令です。これを使うことで、安全に型を揃えて連結できるようになりますよ。
エラーを解消する正しい書き方
- 関数2.0スタイルの書き方:
prop("売上額").format() + "円" - 従来の書き方:
format(prop("売上額")) + "円"
※数値の「1000」がテキストの「"1000"」に自動で変換されるため、「1000円」とエラーなく綺麗に画面に表示されるようになります。
このデータ型のズレは、数値だけでなく「日付データ(Date型)」を文字と連結させたいときにも同様に発生します。エラーが出たときは、まず「異なる種類の型が数式の中でごちゃ混ぜになっていないか」をチェックしてみてくださいね。
Q2:日本語のプロパティ名を使う際の注意点はありますか?
Notionの素晴らしいところは、データベースの列(プロパティ)の名前に日本語を自由に使える点ですよね。しかし、関数の中でその日本語のプロパティを呼び出して計算に使いたいときは、少しだけ文字の入力に注意が必要になります。
ここで初心者が最も起こしやすいミスが、「プロパティ名のスペルミスやスペース(空白)の全角・半角の不一致」です。例えば、データベース側では「進捗 率」と半角スペースを空けて登録しているのに、数式の中で「進捗 率」と全角スペースで入力してしまったり、あるいは最後に不要な空白を1文字足してしまったりすると、Notionは「そんな名前のプロパティは見当たらないよ」とエラーを返してしまいます。日本語の画面表示だと、全角と半角のスペースの隙間の広さは非常に見分けにくいため、目視だけで間違いに気づくのはなかなか難しいのですよね。
また、英数字の「全角と半角の不一致」もよくあります。例えば「売上2026」と「売上2026」ではエラーになります。
こうした細かい文字の不一致によるイライラを完全にゼロにするための一押しの解決策は、「プロパティ名をキーボードで手入力しないこと」です。
エラーを防ぐプロパティの入力方法
関数エディタを開いた状態でプロパティを指定したい箇所にカーソルを合わせたら、キーボードで入力するのではなく、エディタの左側や下部に表示される「プロパティ一覧(サイドバー)」から該当のプロパティ名をクリック(またはタップ)して挿入しましょう。
この操作を行うだけで、Notionが認識している正しいプロパティ名が自動的に数式エディタにコピー&ペーストのように配置されます。これにより、全角半角の打ち間違いやスペースのズレといった不要なイージーミスを完璧に防ぐことができますよ。プロパティを関数に組み込むときは、「自分で打ち込まず、リストからクリックして選ぶ」という習慣をつけておくのがおすすめかなと思います。
Q3:Notion関数の「バージョン 1.0」と「バージョン 2.0」の違いは?
インターネットでNotionの関数について検索していると、サイトによって関数の書き方が微妙に違っていて混乱してしまったことはありませんか?実はNotionの関数機能は、2023年の秋に「Formulas 2.0(関数2.0)」という形で歴史的な超大型アップデートが実施されたんですよ。
このアップデートによって、初心者にとっても数式が格段に書きやすく、かつ高度な自動化ができるように進化しました。主な違いと新機能の注目ポイントを整理してみましょう。
- ドット記法(Dot Notation)の採用: 以前のバージョン1.0では
format(prop("数値"))のように、関数の中にプロパティ名をネストして書き込む必要がありました。しかしバージョン2.0からはprop("数値").format()のように、プロパティの末尾に「.(ドット)」を打って実行したい関数を後ろに繋げていくことができるようになりました。プログラミングのJavaScriptのような直感的で読みやすいコードが書けるようになったため、数式がスマートに整理できますよ。 - リスト型(配列)のサポート: 複数のデータをまとまった「リスト」として扱えるようになりました。リレーションで紐づいた別のデータベースにある複数の金額を合計したり、特定の条件を満たす項目だけを
filter()やmap()で取り出したりする高度なデータ処理が、関数だけで完結するようになりました。 - 変数の導入(let・lets関数): 数式の途中で同じ数式を何度も繰り返し書く必要がなくなり、一時的な「変数」として定義しておけるようになりました。複雑な条件分岐(If文など)を重ねても、数式全体の文字数をスマートに圧縮でき、後から見返したときも構造が非常にわかりやすくなります。
- 人やページ情報の出力: 単なるテキストや数値だけでなく、「担当者(ユーザー情報)」や「該当のページそのもの」を関数の戻り値として返せるようになり、クリック可能なリンク付きのデータを動的に作成できるようになりました。
古いデータベースの移行について
「昔作ったデータベースの関数はどうなってしまうの?」と心配になるかもしれませんが、そこは親切なNotionなので大丈夫ですよ。バージョン1.0で作られた古い数式は、Notionのシステム内部で自動的にバージョン2.0の記法へ安全にマイグレーション(変換)されています。古いデータベースが突然使えなくなることはありませんので安心してくださいね。ただし、ネットで見かける古いブログ記事の解説コードは1.0のままのことがあるので、今から勉強して新しい関数を作るなら、最新の2.0の記法(ドット記法など)を基準にして学習していくのが一番の近道だと思いますよ。
まとめ:Notionの関数を使いこなしてデータ管理を自動化し、今日も早く帰りましょう!
今回は、Notionの関数(数式)を使うときにつまずきがちな型のエラー原因と対処法、プロパティの安全な入力方法、そして知っておきたいバージョン2.0の大きな違いについてお伝えしてきました。
最初のうちはエラーが出ると「難しそうだな…」と腰が引けてしまうかもしれませんが、エラー文の意味や入力のコツを一度覚えてしまえば、パズルを組み立てるような感覚で楽しく関数を使えるようになりますよ。ドット記法や自動補完が効く現代のNotionなら、初心者でも数式の作成が非常にスムーズです。
Notionの関数をフルに活用できるようになれば、これまで時間をかけて目視で行っていた進捗チェックやステータスの連動、日付の期日管理などがすべて一瞬で自動化されます。手動で行う無駄な単純作業や転記の時間をゼロにできれば、そのぶん仕事の生産性が劇的にアップし、「今日も定時でスッキリとオフィスを出て、自分の好きな趣味を楽しんだり、家で美味しいご飯を食べながらゆっくり休んだりする時間」をしっかりと作ることができますよね。ツールに働かせる仕組みを整えて、自分の大切な時間を最大限に確保することこそが、本当にスマートで価値のある仕事の進め方かなと私は信じています。ぜひ今回の知識を参考にエラーを克服して、毎日のデスクワークをスマートに自動化し、今日も早く帰りましょうね!
※正確な情報は公式サイトをご確認ください。最終的な判断は専門家にご相談ください。
また、職場で使うデータの整理や効率化といえば、Notionと同じく「Googleスプレッドシート」も毎日の仕事に欠かせない相棒ですよね。もし「会社の共有シートが重すぎて作業が進まない…」といったストレスを抱えているなら、スプレッドシートの表示スピードを上げるテクニックをまとめたこちらのの記事も合わせて読んでみるのがおすすめですよ。少し設定を見直すだけで見違えるように快適になり、さらなる定時退勤への大きな一歩をサポートしてくれますよ!
自分の手で便利なツールを賢く操って、日々のワークスタイルをもっと軽やかで心地よいものに変えていきましょうね!
参考リンク(Notion公式サポート):
Notionでの「Notion関数の使い方ガイド:初心者向け基本から実用例まで」の活用と合わせて設定しておきたい、「Notionでサブタスクと親タスクを連携・進捗自動集計する方法」の連携手順や、「Notionで繰り返しタスクを自動作成・設定する手順」の活用術については、以下の関連記事で詳しく図解しています。Notionを自分好みにカスタマイズして、タスク管理をさらに効率化してみてくださいね。