Notion

【簡単】Notionデータベースで集計・合計(SUM)を算出する方法

Notionのデータベース機能は、タスク管理やプロジェクト管理、さらには日々の支出を記録する家計簿など、あらゆる数値データを効率よく管理するのにとても便利なツールですよね。データをただ入力して記録しておくだけでなく、それらを「合計」したり「平均」を出したりして自動で集計することは、業務の進捗状況を正しく把握したり、月々の予算管理を行ったりする上で欠かせないプロセスです。Notionでは直感的な操作からデータベース連携まで、目的に合わせたスマートな集計方法が用意されていますので、今回はその基本的なアプローチを初心者の方にも分かりやすく解説しますね。

  • テーブルビューの最下部にある計算機能を使えばワンクリックで合計や平均を算出できること
  • リレーション機能とロールアップ機能を組み合わせることで別データベースから数値を集計できること
  • それぞれの特徴を理解して使い分けることでNotionでの数値管理やダッシュボード構築がよりスムーズになること

Notionデータベースで数値を集計・合計する3つのアプローチ

Notionのデータベースを使って数値を集計したり、合計金額を算出したりする方法には、大きく分けて3つのアプローチがあります。シンプルな表の上でパッと合計を確認したい場合から、複数のデータベースを紐付けて複雑な売上データを自動集計したい場合、あるいは高度な計算式を用いて独自の数値を導き出したい場合など、あなたの目的や用途に合わせて最適な方法を選ぶことができますよ。まずは、それぞれの方法がどのような仕組みで動いているのか、概要と比較を交えながらステップバイステップで確認していきましょう。

アプローチ1:テーブル最下部の「計算機能」で瞬時に合計を出す

まず最初にご紹介するのが、最も手軽で基本的なアプローチである「テーブル最下部の計算機能」です。この方法は、スプレッドシートやエクセルのように、表形式(テーブルビュー)で並んでいるデータの一番下の行で瞬時に集計を行うことができる機能になります。特別な設定や複雑なリレーションの設定、あるいは関数の記述などは一切不要なので、データベースを作成してすぐに使えるのが最大の魅力ですね。

例えば、あなたが日々の経費を記録する「経費精算テーブル」や、月々のお小遣いを記録する「家計簿データベース」を作っているとしましょう。日付と項目、そして「金額」という数値プロパティを用意すれば、準備はそれだけで完了です。

具体的な操作手順は驚くほどシンプルですよ。テーブルビューで数値が表示されている列(カラム)の一番下のセル付近にマウスポインターをそっと乗せてみてください。すると、薄いグレーの文字で「計算」や「なし」という表示がふわっと浮き上がってきます。そこをクリックすると、集計用のプルダウンメニューが表示されますので、その中から「合計 (Sum)」や「平均 (Average)」などの計算メニューを選ぶだけです。

これだけで、その列に入力されているすべての数値がリアルタイムで計算され、テーブルの最下部に集計結果が常時表示されるようになります。新しく行を追加して数値を入力すると、最下部の合計値も自動的にその場で更新されますよ。

ちょっと知っておくと便利な豆知識:計算メニューの多彩な選択肢

この最下部メニューで計算できるのは、単なる合計や平均だけではありません。実は、以下のような様々な集計方法が選択できるようになっています。

  • 値の数(カウント):データが入力されている行の総数をカウントします。
  • 一意の値の数:重複を除いたデータの数をカウントします。
  • 空欄 / 空欄でない:データが抜けているセルや、入力済みのセルの個数を数えます。
  • 最小値 / 最大値:その列の中で最も小さい数値、または最も大きい数値を抽出します。
  • 範囲:最大値と最小値の差を自動で計算してくれます。

例えば、タスク管理データベースの「タスク名」の列の最下部で「値の数」を選択すれば、現在登録されているタスクの総数が一目で分かりますし、予算管理で「最大値」を選べば最もコストがかかっている項目をすぐに特定できますね。

ただし、この手軽な計算機能にもいくつか知っておくべきポイントがあります。それは、「画面上で見ているビュー内のデータだけが集計対象になる」という点です。例えば、フィルター機能を使って特定のプロジェクトだけのタスクに絞り込んでいる場合、最下部の計算機能は「絞り込まれて表示されているタスクの合計値」だけを表示します。データベース全体の合計を知りたい場合は、フィルターを外すか、別のビューを作成して確認する必要があります。

また、この計算機能で出力された合計値は、あくまで画面に表示されているだけの「見かけ上の数値」です。そのため、この数値を他のページに引っ張っていったり、別の計算式の入力値として再利用したりすることはできません。「そのビューを開いたときに、パッと数値感を確認するための補助ツール」として活用するのが一番おすすめの使い方かなと思います。

さらに詳しい仕様や画面イメージについて確認したい場合は、Notionの公式サイトにあるヘルプ記事「Table database calculations」(英語)なども参考にしてみると、機能の全体像がより掴みやすくなるはずですよ。

アプローチ2:リレーションとロールアップで他データベースと集計連携する

次にご紹介するのが、Notionの大きな強みである「リレーション機能」「ロールアップ機能」を組み合わせたアプローチです。これは、2つの異なるデータベースを紐付け、一方のデータベースにある数値データをもう一方のデータベースに自動的に吸い上げて合計や平均を算出する方法です。この機能を使えるようになると、Notionでのデータ管理の幅がグッと広がり、まるで専用の業務システムを作っているかのような感覚を味わえますよ。

例えば、以下のようなシーンを想像してみてください。

  • 「顧客リスト」と「売上履歴」を連携させ、顧客ごとに購入された商品の「合計金額」を顧客リスト側に自動表示する
  • 「プロジェクト管理」と「タスク一覧」を連携させ、各タスクにかかった時間の合計を「プロジェクトの総実績時間」として自動集計する
  • 「月間予算」と「日々の支出記録」を連携させ、今月のカテゴリ別の「合計支出」をリアルタイムで把握する

このように、データが複数の異なる場所に分かれていても、それらを関連付けることで自動的に集計を行えるのがこのアプローチの素晴らしいところです。

具体的にどのように設定するのか、ステップを追って解説しますね。ここでは「プロジェクト」と「タスク」という2つのデータベースを使う例で考えてみましょう。

まず、タスクデータベースに新しいプロパティを追加し、タイプを「リレーション」に設定します。そして紐付ける相手として「プロジェクトデータベース」を選択します。これで準備段階の連携ができました。次に、タスクごとにどのプロジェクトに属しているかを登録していきます。例えば「資料作成」というタスクは「Aプロジェクト」にリレーションで紐付ける、といった具合ですね。各タスクにはそれぞれ「所要時間(数値)」が入力されているものとします。

続いて、集計結果を表示したいプロジェクトデータベース側で、新しくプロパティを追加し、タイプを「ロールアップ (Rollup)」に設定します。このロールアップのプロパティ設定画面を開くと、どの情報を引っ張ってくるかを指定するメニューが表示されます。ここで、先ほど作成した「タスクのリレーション」を選択し、次に取得したいプロパティとして「所要時間」を選択します。そして一番大切なのが、最下部にある「計算(Calculate)」の設定です。ここを初期状態の「オリジナルを表示」から「合計」や「平均」に変更します。これで設定は完了です!

この設定を行うと、Aプロジェクトに紐付いているすべてのタスクの「所要時間」が自動で足し算され、プロジェクトデータベース側の画面に「合計所要時間」として表示されるようになります。タスクを追加したり、タスクの時間を変更したりすると、プロジェクト側のロールアップ数値もリアルタイムで連動して自動更新されます。手動で再計算する手間は一切ありませんよ。

リレーションとロールアップを使う際の注意点

とても便利なリレーションとロールアップですが、正しく集計を行うためには「データの紐付け(リレーション)」が漏れなく行われている必要があります。もし紐付けを忘れてしまったタスクがあると、そのタスクの数値はプロジェクト側の合計値には加算されません。集計が合わないなと感じたときは、リレーションの列が空欄になっていないか確認してみてくださいね。

また、データベース同士を複雑に何重にもリレーションで繋いだり、数万件におよぶような膨大なデータ同士を連携させたりすると、Notionのページの読み込みや集計処理が少し遅くなってしまうことがあります。もしNotion全体の動作や、他のスプレッドシートなどのデータ管理ツールで動作が重いなと感じることがあれば、こちらのスプレッドシートを軽くする解決策を紹介した記事もヒントになるかもしれません。ツールを快適に保つためのデータ整理のコツなどを紹介していますので、ぜひ参考にしてみてくださいね。

ロールアップで集計した数値は、単に画面に表示するだけでなく、さらにその数値を元にして「関数プロパティ(Formula)」で「予算に対する消化率」や「進捗率」を計算するといった高度な使い方も可能です。データベースを連携させることで、あなたのNotionは単なるメモ帳から、ビジネスでも十分に使える高機能なダッシュボードへと進化していくはずですよ。

ここで、ご紹介した2つのアプローチと、今回は詳細な解説を割愛するものの高度な集計に役立つ「関数(Formula)機能」を加えた3つのアプローチについて、特徴や使い分けを一覧表にまとめてみました。それぞれのメリットや難易度を比較して、あなたの用途にぴったりの方法を選んでみてくださいね。

集計方法(アプローチ) 設定の難易度 更新の自動性 主なメリット・特徴 他プロパティでの再利用
① テーブル最下部の計算機能 ★☆☆(超簡単) 自動更新(画面上のみ) 設定不要で、最下部をクリックするだけで1秒で合計・平均を表示できる。手軽さ重視。 不可(画面表示のみ)
② リレーション&ロールアップ ★★☆(普通) 自動更新(連動更新) 別のデータベースから数値を引き出して自動集計できる。プロジェクトとタスクの連携などに最適。 可能(関数などで参照可)
③ 関数(Formula)機能 ★★★(高度) 自動更新(リアルタイム) 独自の計算式を記述して複雑な条件分岐や計算ができる。より細かなカスタマイズが可能。 可能(他の関数等でも参照可)

このように、Notionではデータベースの規模や用途に応じて、簡単な集計から本格的なデータ連携まで柔軟に対応できるようになっています。まずは手軽なアプローチ1から試してみて、慣れてきたらアプローチ2のリレーションとロールアップを使ったデータベース連携に挑戦してみるのがおすすめですよ。それぞれの方法を使いこなして、日々の数値管理をよりスマートで楽しいものにしていきましょうね。

リレーションとロールアップを使ったデータベース間集計手順

Notionを使いこなしていくと、単一のデータベースだけでなく、「タスク」と「プロジェクト」、「売上データ」と「顧客リスト」のように、異なるデータベース同士を連携させて数値を集計したい場面が出てきますよね。例えば、プロジェクトごとに紐づくタスクの合計作業時間を自動で計算させたり、顧客ごとの合計売上高を自動で算出させたりといった操作です。このような高度なデータ連携と自動集計を可能にするのが、Notionの強力な機能である「リレーション」と「ロールアップ」の組み合わせなのですよ。

データベース間の集計と聞くと、「何だか難しそうだな」「関数とかを書かないにいけないのかな」と身構えてしまうかもしれませんが、安心してくださいね。Notionのロールアップ機能を使えば、数式を一行も書くことなく、マウス操作だけで簡単に関連先データベースの数値を合計することができるのです。本セクションでは、実際に2つのデータベースを用意して、それらをリレーションで紐づけてからロールアップで数値を合計するまでの手順を、ステップバイステップで徹底的に分かりやすく解説していきます。これさえマスターすれば、Notionでのデータ管理の幅がグッと広がること間違いなしですよ。

Notionデータベースでのリレーション接続とロールアップによる数値集計手順

手順1:2つのデータベースを「リレーション」で紐付ける

まずは、集計の土台となる設定から進めていきましょう。異なるデータベース間で数値を集計するためには、前提として「どのデータとどのデータを関連付けるか」という繋がり(リレーション)を作ってあげる必要があります。今回は、具体的な例として「プロジェクト管理データベース(親)」と「個別タスクデータベース(子)」の2つを紐づける手順を追っていきますね。

リレーションを設定する具体的な手順は以下の通りです。

  • ステップ1:親となる「プロジェクト管理データベース」を開き、プロパティの新規作成ボタン(テーブルビューの右端にある「+」アイコン)をクリックします。
  • ステップ2:プロパティの種類一覧が表示されるので、その中から「リレーション(Relation)」を選択します。
  • ステップ3:「データベースを選択」という画面が表示されるので、紐付けたい子データベースである「個別タスクデータベース」の名前を検索して選択します。
  • ステップ4:接続設定画面が表示されます。ここで重要なのが、「個別タスクデータベースに表示」のトグルスイッチ(オプション)です。このトグルをオンにすると、子データベース側からもどのプロジェクトに紐づいているかが確認できるようになり、双方向の連携が可能になりますよ。基本的にはオンにしておくのがおすすめかなと思います。
  • ステップ5:設定を確認したら、右下の「リレーションを追加」ボタンをクリックします。これでデータベース同士のパイプライン(通り道)が開通しました!
  • ステップ6:最後に、実際のデータを紐付けます。プロジェクトデータベースの「リレーション」プロパティのセルをクリックし、関連するタスクを一覧から選択して追加していきます。

これで、親のプロジェクトに対して、複数の子タスクが紐付いた状態になりました。Notionの素晴らしいところは、このリレーション接続によって、データベース間のデータの行き来が自由自在になることです。例えば「プロジェクトA」というページの中に、「タスク1」「タスク2」といったページがカードのようにはめ込まれるイメージですね。これができて初めて、次のステップである「ロールアップ(データの吸い上げ)」を行う準備が整うわけです。まずは慌てず、データ同士が正しく繋がっているかを確認してくださいね。

KYOの役立つ豆知識:リレーションの「制限」設定について

リレーションを設定する際、オプション設定で「制限(Limit)」という項目があるのにお気づきですか?これは、「1つのプロジェクトに複数のタスクを紐付けられるか(制限なし)」、あるいは「1つのタスクには1つのプロジェクトしか紐付けられないようにするか(1ページ)」といったルールを決められる設定です。今回のような「合計値を集計する」という用途では、親データベース側は複数の子データをまとめるために「制限なし」に設定しておく必要がありますよ。ここが制限されていると、複数の数値を足し合わせることができなくなってしまうので注意してくださいね。

手順2:ロールアッププロパティを作成し関連先のプロパティを選ぶ

データベース同士の繋がり(リレーション)ができたら、次はいよいよ目的の数値データを吸い上げるための「ロールアップ(Rollup)」プロパティを作成しましょう。ロールアップとは、リレーションで繋がった別のデータベースから、特定のプロパティ(例えば「作業時間」や「費用」など)の情報だけを持ってきて、自分のデータベース上に表示させる機能のことですよ。

ロールアッププロパティを作成し、関連先のデータを指定する手順は以下の通りです。

  • ステップ1:親の「プロジェクト管理データベース」で、再び新しいプロパティの追加(「+」アイコン)をクリックします。
  • ステップ2:プロパティの種類一覧から、今回は「ロールアップ(Rollup)」を選択します。これで新しいロールアップ列が追加されます。
  • ステップ3:新しく作成されたロールアップ列のヘッダーをクリックするか、セルをクリックして「ロールアップの設定」ウィンドウを開きます。
  • ステップ4:設定ウィンドウ内の最初のエントリである「リレーション」をクリックし、手順1で作成したリレーションプロパティ(例:「個別タスク」)を選択します。これによって、どの繋がりからデータを取ってくるかをNotionに指示します。
  • ステップ5:次に、その下にある「プロパティ」をクリックします。関連先データベース(この場合は個別タスク側)にあるプロパティの一覧が表示されるので、集計したい数値が入っているプロパティ(例:「作業時間(数値)」や「金額(数値)」)を選択します。

この段階では、まだ数値の合計はされず、リレーションで紐付いているタスクそれぞれの数値が「10, 5, 20」のようにカンマ区切りでそのまま並んで表示されているはずです。これは、デフォルトの設定が「元の値をそのまま表示する」ようになっているからなのですよ。これだけでもデータの確認には便利ですが、今回の目的はそれらの「合計値」を出すことなので、次のステップで計算方法を切り替えていきましょうね。

また、Notionの公式サポートページには、リレーションとロールアップの仕様や具体的な活用例について、より詳細なリファレンスが用意されています。もし操作中に「もっと細かい仕様を知りたいな」と思ったときは、Notionの公式ドキュメントである Notionヘルプセンターの「リレーションとロールアップ」ガイド(外部サイト)もぜひ参考にしてみてくださいね。画像付きで公式ならではの丁寧な説明がされていますよ。

【超重要】ロールアップ元となるプロパティの「種類」に注意!

ロールアップで引っ張ってくる関連先データベースのプロパティは、必ず「数値(Number)」タイプ、または「数値を返す数式(Formula)」タイプになっている必要があります。もし、関連先で数値を入力しているプロパティが「テキスト(Text)」タイプで作成されていると、Notionはそのデータを「文字」として認識してしまい、この後のステップで説明する「合計(Sum)」などの計算処理を実行できなくなってしまうのですよ。もし設定画面で計算オプションが選べない場合は、関連先データベースのプロパティ設定に戻って、種類が「数値」になっているかをしっかり確認してくださいね。

手順3:ロールアップの計算設定で「合計(Sum)」を指定する

さあ、いよいよ最後の仕上げです!手順2で作成したロールアッププロパティは、初期状態では関連先の数値をただ並べて表示しているだけ(オリジナルを表示)になっています。これを「合計(Sum)」という計算設定に変更することで、Notionが自動で瞬時に数値を足し算し、ひとつの合計値を算出してくれるようになりますよ。

計算方法を「合計」に変更する具体的なステップは以下の通りです。

  • ステップ1:作成したロールアッププロパティのヘッダー(列名)をクリックし、表示されるメニューから「プロパティを編集」を選択します。
  • ステップ2:ロールアップの設定ウィンドウが表示されるので、一番下にある「計算(Calculate)」という項目をクリックします。デフォルトではここが「オリジナルを表示(Show original)」に設定されているはずです。
  • ステップ3:表示された計算オプションのドロップダウンリストから、「合計(Sum)」を選択します。

この設定を行った瞬間に、カンマ区切りで「10, 5, 20」とバラバラに表示されていたセルが、自動的に足し算されて「35」というスッキリとした合計値に書き換わります。これで、プロジェクトに紐付くタスクの総作業時間や総コストが自動的に一目でわかるようになりました!タスクを追加したり、タスク側の作業時間を書き換えたりすると、こちらの親データベース側の合計値もリアルタイムで連動して自動更新されるのですよ。手動で再計算する手間が一切かからないので、本当に便利で感動してしまいますよね。

ところで、大量のデータや複雑な集計をNotionで行っていると、ページの読み込みや動作が少し重くなることがあるかもしれません。もし、Notionの動作を補完するためにGoogleスプレッドシートも併用していて、スプレッドシート側の動作スピードにお悩みがあるなら、こちらの スプレッドシートを軽くする解決策 の記事も合わせて覗いてみてくださいね。数式の最適化やシートの整理方法など、動きを劇的に軽くするための工夫がたくさん詰まっています。ツールを併用しながら、どちらもサクサク動く環境を整えるのが、スマートな仕事効率化のコツかなと思いますよ。

最後に、ロールアップの「計算」メニューでは、合計(Sum)以外にも実務で使える非常に便利な計算オプションが多数用意されています。それらを分かりやすく表にまとめましたので、用途に合わせて使い分けてみてくださいね。

計算オプション(日本語/英語) 集計処理の内容 主な活用シーン・おすすめの使い方
合計 / Sum 紐付いているすべての数値プロパティを足し算します。 プロジェクトの総費用、タスクの合計作業時間、売上の総合計など、最もよく使う基本設定ですよ。
平均 / Average 紐付いている数値データの平均値を算出します。 タスクごとの平均所要時間や、案件ごとの平均単価を把握したいときにとても役立ちますね。
最小値 / Min 紐付いている数値の中から最も小さい値を抽出します。 プロジェクト内での最小見積額や、最も早く完了したタスクの期間を見つけたいときに便利です。
最大値 / Max 紐付いている数値の中から最も大きい値を抽出します。 最高売上単価や、最も時間がかかっているタスクの作業時間を特定したいときに使えますよ。
すべてカウント / Count all 紐付いているページの総数をカウントします(数値以外も可)。 プロジェクトに紐付くタスクの総数(何件のタスクがあるか)をシンプルに数えたいときに重宝します。

手順3のまとめと応用アドバイス:

ロールアップの計算設定を「合計(Sum)」にするだけで、Notionデータベース間の数値集計は完璧に自動化できます。さらに応用として、この合計値をもとに別のプロパティで「数式(Formula)」を使い、全体の進捗率をパーセンテージで表示させることも可能になりますよ。最初はリレーションとロールアップの繋がりに少し戸惑うかもしれませんが、一度設定してしまえばその後の入力作業が劇的に楽になりますので、ぜひあなたの手元で実際に試してみてくださいね。

数式(Formula)プロパティを用いた高度な数値集計テクニック

Notionのデータベースの真骨頂とも言えるのが、「数式(Formula)プロパティ」を活用した高度な数値集計です。テーブルの下部に表示される簡易的な集計機能や、単純なロールアップ機能だけでは、「特定の条件に一致するものだけを合計したい」「消費税や割引率を考慮した最終的な支払額を自動で計算したい」といった、実務でよくある一歩踏み込んだ要望に応えることができませんよね。

そんなときに大活躍するのが数式プロパティです。特に、Notionの数式が「Formula 2.0」へとアップデートされてからは、まるでプログラミング言語のように柔軟で、かつ直感的に複雑な計算を記述できるようになりました。スプレッドシートやExcelで行っていたような高度な処理も、Notionのデータベース内でスッキリ完結させることができますよ。

今回は、私が実務で実際に使って「これは本当に手放せない!」と実感した、数式プロパティによる数値集計テクニックを3つ、具体的な設定方法や数式コードと一緒に詳しくご紹介しますね。少し難しく見える部分もあるかもしれませんが、順を追って真似していけば誰でも簡単に設定できますので、ぜひあなたのデータベースでも試してみてください。

Notionの数式Formulaプロパティを使ったカスタム数値集計イメージ

テクニック1:複数のプロパティ値を足し算して合計プロパティを作る

まず最も基本でありながら、日常業務での使用頻度が極めて高いのが、同じページ(行)の中にある複数の数値プロパティを足し合わせて合計値を算出するテクニックです。

例えば、出張経費の精算データベースや、プロジェクトごとの予算管理データベースを運用しているとします。このデータベースの中に「交通費」「宿泊費」「日当」という3つの独立した数値プロパティがある場合、これらを合算した「申請経費合計」を自動的に計算させたいですよね。このような場面で数式プロパティが非常に便利です。

NotionのFormula 2.0では、プロパティを足し算する際に非常にシンプルな書き方ができますが、ここで1つ大きな罠があります。それは、プロパティの中に「未入力(空白)」の項目が含まれている場合です。単に「A + B + C」と足し算をするだけだと、どこか1つでも空欄があることで全体の計算結果がバグってしまったり、結果が空白になってしまったりすることがあります。そのため、値が入力されていない場合は「0」として扱うような処理をあらかじめ数式に組み込んでおくのがベストですよ。

それでは、具体的な数式の記述方法を見ていきましょう。今回は「交通費」「宿泊費」「日当」の3つを足し合わせる場合を例にします。

(prop("交通費") or 0) + (prop("宿泊費") or 0) + (prop("日当") or 0)

この数式の最大のポイントは、各プロパティ名の後ろに書かれている or 0 という記述です。これは、「もしプロパティが空っぽ(nullや未入力)だった場合は、代わりに0を代入して計算を進めてね」という指示になります。この工夫をしておくだけで、「まだ宿泊費が決まっていないから空欄にしてある」という状態でも、交通費と日当だけで正しく合計が計算されるようになります。エラーで計算結果が空白になってしまうのを防ぐための、非常に実用的なテクニックですよ。

また、Formula 2.0ではリスト(配列)を扱うことができるため、以下のようにすっきり記述することも可能です。

[prop("交通費"), prop("宿泊費"), prop("日当")].map(current or 0).sum()

こちらは、複数の数値を一度リスト(角括弧[])にまとめ、それぞれの値が空なら0に変換(.map(current or 0))した上で、最後にすべてを足し算(.sum())するという書き方です。足し算したいプロパティが5個、10個と増えていった場合、こちらの書き方の方が記述がスッキリして見やすくなるのでおすすめですよ。

設定手順は以下のステップで行います。

  • データベースに新しくプロパティを追加し、種類を「数式(Formula)」に設定します。
  • プロパティの名前を「合計経費」など、分かりやすいものに変更します。
  • プロパティの設定画面から「数式を編集」をクリックし、上記の数式を入力して「完了」を押します。
  • 「合計経費」のプロパティをクリックして「プロパティを編集」を開き、「数値の形式」を「日本円(¥)」などの任意の通貨やフォーマットに変更します。

ワンポイントアドバイス:表示形式の設定を忘れずに!
Notionの数式プロパティは、ただ計算結果を数字として出すだけでなく、後から「数値の形式」を変更することで、自動的に「¥」や「$」などの記号を表示させたり、カンマ区切りにしたりすることができます。数式を入力し終わったら、必ずプロパティの設定メニューから表示形式を設定し直しておきましょう。これだけで一気に見やすくプロ仕様のデータベースになりますよ!

テクニック2:ロールアップ値に条件(IF)を組み合わせて集計を絞り込む

次に解説するのは、リレーション機能を使っている場合に非常に重宝する、「特定の条件を満たした関連ページの値だけを合計する」という応用テクニックです。

例えば、「プロジェクト」データベースと「タスク」データベースがリレーション(関連付け)で紐づいているとします。プロジェクトのページ内で、紐づいている全タスクのうち、「ステータスが『完了』になっているタスクの作業時間だけを合計して表示したい」というケースはよくありますよね。まだ終わっていないタスクの予定時間まで合計されてしまうと、実際にどれだけのコストや工数がかかったのかが分からなくなってしまいます。

従来のNotion(Formula 1.0)では、これを行うためにタスク側で「もし完了なら作業時間を返し、それ以外なら0にする」という数式プロパティをわざわざ作り、それをプロジェクト側からロールアップするという非常に面倒な手順を踏む必要がありました。これだとデータベースのプロパティ数が無駄に増えてしまい、管理が煩雑になる原因になっていましたよね。

しかし、最新のFormula 2.0では、リレーション先のデータを数式内で直接操作し、フィルターをかけることができるようになりました!これにより、無駄な中間プロパティを作成することなく、スマートに条件付き合計が算出できるようになりましたよ。私自身、この機能がアップデートされたときは「これでデータベースがすっきりする!」と大興奮しました。

では、具体的な数式を見てみましょう。ここでは、「タスク」というリレーションプロパティから、ステータスが「完了」のものの「作業時間」を合計する数式です。

prop("タスク").filter(current.prop("ステータス") == "完了").map(current.prop("作業時間")).sum()

この数式で行っている処理を細かく分解して説明しますね。ちょっと複雑に見えますが、意味が分かればとてもシンプルですよ。

  • prop("タスク"):まずは紐づいているタスクの一覧(リスト)を取得します。
  • .filter(current.prop("ステータス") == "完了"):取得したタスクのリストの中から、ステータスが「完了」になっているものだけに絞り込みます(currentはリストの中の各タスクを指します)。
  • .map(current.prop("作業時間")):絞り込んだタスクから、「作業時間」という数値データだけを取り出して、新しい数値のリストを作ります。
  • .sum():最後に、その数値リストに入っている数字をすべて足し算します。

この記述により、リレーション先のデータを自由自在にフィルタリングして集計できるようになります。ステータスだけでなく、「優先度が『高』のタスクのみ」「担当者が『自分』のもののみ」といった条件分岐も自由自在です。データベースがとてもスマートになりますね。

注意しておきたいポイント:表記揺れに気をつけよう
数式内で指定しているステータス名(上記の例では「完了」)やプロパティ名は、完全に一致している必要があります。全角・半角の違いや、スペースの有無だけでも別物として認識されてしまい、集計結果が「0」になってしまう原因になります。もしうまく計算されない場合は、リレーション先のプロパティ名やステータスのグループ名が数式内の記述と完全に一致しているか、もう一度確認してみてくださいね。

テクニック3:消費税や割引率を自動計算して総計を算出する

最後に紹介するのは、見積書や請求書、売上管理データベースなどでそのまま使える「消費税や割引率を自動で計算して、最終的な支払総額(税込)を算出する」という本格的な実務テクニックです。

ビジネスの現場では、単に「単価 × 数量」を計算するだけでなく、そこから「顧客ごとの割引」を適用し、さらに「消費税(10%または軽減税率の8%)」を掛け算して、かつ円単位での端数処理(四捨五入や切り捨てなど)を行う必要がありますよね。これらをすべて1つの数式プロパティでスッキリと計算させる方法を解説します。

今回は、以下のプロパティがデータベースに用意されていると仮定します。

  • 「単価」(数値プロパティ)
  • 「数量」(数値プロパティ)
  • 「割引率」(数値プロパティ:例えば10%割引なら0.1が入力されている状態)
  • 「軽減税率」(チェックボックスプロパティ:チェックが入っていれば消費税率を8%、入っていなければ10%として計算する)

これらを用いて、最終的な「税込合計金額」を算出します。ここでは、Formula 2.0で導入された lets() 関数 を使用します。この関数を使うことで、数式の中で一時的な「変数(計算結果の一時保存先)」を定義でき、複雑な計算式を劇的に読みやすく整理することができます。GoogleスプレッドシートやExcelのように複雑なネスト(入れ子)を繰り返す計算も、Notionならスマートに処理できますよ。ちなみに、スプレッドシートの動作が重くてお悩みの方は、こちらの記事 スプレッドシートを軽くする解決策 も参考にしてみてくださいね。Notionに移行して情報をまとめることで、全体の作業効率が大幅に向上して動作も軽快になるケースがありますよ。

それでは、lets() 関数を使用した高度な計算式を見てみましょう。

lets(
  小計, prop("単価") * prop("数量"),
  割引額, 小計 * (prop("割引率") or 0),
  課税対象額, 小計 - 割引額,
  税率, if(prop("軽減税率"), 0.08, 0.10),
  消費税, floor(課税対象額 * 税率),
  課税対象額 + 消費税
)

この数式の構造は以下のようになっています。上から順番に読んでいくだけで、どのように計算が行われているかが一目瞭然ですね!

  • 小計:単価と数量を掛け算した、元々の金額を定義します。
  • 割引額:小計に対して割引率を掛け合わせます。割引率が入力されていない(空欄の)場合は、or 0 によって割引額が0円になります。
  • 課税対象額:小計から割引額を引き算して、実際に税金がかかるベースの金額を求めます。
  • 税率:もし「軽減税率」のチェックボックスにチェックが入っていれば「0.08(8%)」、そうでなければ「0.10(10%)」を適用するように条件分岐します。
  • 消費税:課税対象額に税率を掛け合わせ、さらに floor() 関数 を使って小数点以下を「切り捨て」ます(日本の消費税計算では端数切り捨てが一般的です)。
  • 最後の行(課税対象額 + 消費税:最終的に画面に表示される計算結果として、課税対象額に消費税を加算した「税込合計金額」を出力します。

このように lets() を使用すれば、複雑な数式をパーツごとに分けて記述できるため、後から「やっぱり端数は四捨五入(round)にしたいな」「割引のロジックを少し変えたいな」といった修正が必要になったときでも、該当する箇所だけをサクッと書き直すことができます。エラーが発生したときの原因特定もしやすくなるため、実務で数式を組む際はぜひ覚えておきたい書き方ですね。

端数処理に使える便利な関数まとめ
Notionの数式プロパティで端数処理(丸め処理)をしたいときは、以下の3つの代表的な関数を使い分けましょう。

  • floor(数値):小数点以下を切り捨てます(例:floor(100.8) → 100)
  • ceil(数値):小数点以下を切り上げます(例:ceil(100.1) → 101)
  • round(数値):もっとも近い整数に四捨五入します(例:round(100.5) → 101、round(100.4) → 100)

ビジネスの計算ルールや取引先との契約内容に合わせて、適切な関数を選んでみてくださいね。

Notionのデータ集計に関するよくある質問(FAQ)

Notionのデータベース機能は、使いこなすと本当に便利ですよね。でも、実際にリレーションやロールアップ、関数(フォーミュラ)を使って集計しようとすると、「あれ?思うように合計が出ないぞ…」と引っかかるポイントがいくつかあります。そこで、このセクションでは、Notionのデータ集計で多くの人がつまずきがちな疑問や、実務でよく聞かれる質問について、私の体験も交えながら分かりやすくお答えしていきますね。これを知っておくだけで、無駄に悩む時間がグッと減るはずですよ。

Q1:ロールアップの計算で「合計」などのメニューが表示されないのはなぜ?

ロールアップを設定したものの、「計算」のオプションをクリックしても「合計(Sum)」や「平均(Average)」が選択肢に出ない…というトラブル、実は本当によくあるんです。私も最初、「なんで合計できないの?」と悩んだ記憶があります。

この原因はシンプルで、ロールアップの参照元(引っ張ってきている元のデータベース)のプロパティの種類が「数値(Number)」になっていないからなんですね。金額などを入力している列のプロパティが「テキスト」や「セレクト」になっていると、Notionはそれを「文字データ」として認識してしまいます。文字データに対しては数学的な計算ができないため、ロールアップ側で「合計」が選択できなくなってしまうのです。

解決するには、以下の手順で元のデータベースの設定を変更しましょう:

  • まず、データを引っ張ってくる元のデータベース(リレーション先)を開きます。
  • 合計したいプロパティのヘッダーをクリックして、プロパティの編集メニューを開きます。
  • 「種類」の項目を確認し、「テキスト」などになっていたら「数値」に変更します。
  • 数値に変更したら、必要に応じて「数値の形式」を「円」や「パーセント」などに変更することもできますよ。
  • 元の設定が終わったら再び集計先のデータベースに戻り、ロールアッププロパティの「計算」設定を確認します。今度はしっかりと「合計」や「平均」といった数値計算のオプションが選択できるようになっているはずです!

ロールアップの計算メニューは、参照するデータの「プロパティの種類」に依存しています。もし行き詰まったら、まずは元のデータベースの設定を確認してみてくださいね。ちょっとした設定変更で、すっきりと合計値が出せるようになりますよ。

注意点:元のデータを変更する際の影響について

元のデータベースでプロパティの種類を「数値」に変更する際、全角数字や「円」などの不要なテキストが入力されていると、数値に変換したタイミングでデータが消えてしまうことがあります。プロパティの種類を変更する前に、入力されているデータが「半角の数字のみ」になっているかチェックしておくことをおすすめします!

Q2:データベース全体の合計値をテキストブロックにインライン表示できますか?

「データベースの合計値を、普段使っているテキストブロックの中に直接埋め込んで表示したい!」と思うこと、ありますよね。例えば、「今月の総売上は、〇〇円です!」の〇〇の部分をデータベースの合計値と連動させて、自動的に更新させたいというパターンです。

結論からお伝えすると、現在の標準のNotionでは、データベースの最下部に表示される計算行(合計値など)や特定のセルを、通常のテキストブロック(段落ブロック)の中に直接インラインでリアルタイム同期表示する機能は備わっていません。

テキストブロックで「@」を使ってページをメンションすることはできますが、プロパティの集計値だけをピンポイントでインラインテキストとして引っ張ってくるのは難しいのが現状です。

でも、諦める必要はありません!少し工夫をすることで、似たような仕組みを実現する方法があります。ここでは実用的なワークアラウンドを2つご紹介しますね。

【方法1:親データベース(マスターデータベース)を使ったロールアップ参照】

これが最も確実な方法です。

  • 「集計用」となる親データベースを1つ作成し、「全体集計」という1つのレコード(行)を作っておきます。
  • 集計したい子データベースのすべてのレコードに、その「全体集計」レコードへのリレーションを設定します。
  • 親データベース側で、子データベースの数値を「ロールアップ」し、計算方法を「合計」に設定します。これで、親データベースの1行に全体の合計値が集計されます。
  • この親データベースのページ、またはロールアッププロパティをインライン表示やコールアウトボックスの中に配置することで、文書の途中で合計値を常に目立たせて表示することができます。

【方法2:同期ブロックとデータベースビューの組み合わせ】

テキストの文中に埋め込むことはできなくても、視覚的に合計値が確認できれば良いという場合は、以下の見せ方もおすすめです。

  • 合計値だけを表示する「ギャラリービュー」または「リストビュー」を新しくデータベース内に作成します。
  • 不要なプロパティをすべて非表示にし、合計値を表示するロールアップや計算行だけが見えるようにレイアウトを調整します。
  • このデータベースビューへのリンクをコピーし、任意のテキストページの途中に「同期データベースビュー」として埋め込みます。
  • コールアウトボックスなどの枠の中に入れてあげると、まるでテキストの一部として合計値が綺麗に表示されているかのような見栄えになりますよ。

ちょっとした工夫が必要になりますが、これらを使うことで、毎回データベースを開いて下部までスクロールして合計を確認し、それを手動でコピー&ペーストする…という面倒な作業から解放されます。ぜひ試してみてくださいね。

インライン表示のコツ

リレーションとロールアップを使って集計ページを作っておくと、スマホから見たときにも合計値がパッと一目で分かるようになります。データベースをわざわざ横スクロールして一番下を見る手間が省けるので、ダッシュボード用のページを1つ作っておくのが本当におすすめですよ!

まとめ:データベース集計をマスターしてNotionをフル活用し、今日も早く帰りましょう!

今回は、Notionのデータベースを使って集計・合計(SUM)を算出する方法について、基礎から実践的な応用、よくあるトラブルの解決策までご紹介してきました。

Notionは単なるメモ帳ではなく、情報を整理し、自動で計算してくれる非常にパワフルなツールです。最初は「リレーションってなんだか難しそう…」「ロールアップの設定がうまくできない…」と感じるかもしれませんが、一度仕組みを理解してしまえば、日々の業務効率は劇的に向上しますよ。

無駄な転記作業や手動での計算チェックをNotionに任せることで、ミスが減るだけでなく、あなたの貴重な時間も生み出すことができます。浮いた時間で新しい企画を考えたり、いつもより早く帰ってプライベートの時間を楽しんだりしてくださいね。業務効率化を少しずつ進めて、今日も定時でサクッと帰りましょう!

そして、データベースの集計機能に関しては、使っているうちに動きが変わったり、新機能が追加されたりすることもあります。正確な情報は公式サイトをご確認ください。最終的な判断は専門家にご相談ください。

「Notionもいいけれど、社内のデータ共有はやっぱり使い慣れたスプレッドシートがメインなんだよね」という方も多いと思います。もし、スプレッドシートの動作が重くて仕事が進まない!とお悩みでしたら、こちらの記事で紹介しているスプレッドシートを軽くする解決策も合わせてチェックしてみてくださいね。ちょっとした設定や関数の使い方を見直すだけで、驚くほど動作が軽くなりますよ。

Notionの詳しい操作やトラブルシューティングについては、以下の公式サイトの情報もぜひ参考にしてみてください。

-Notion