数式の概要

このヘルプドキュメント内

Notionデータベースでは、数式プロパティを追加して、他のプロパティに基づくあらゆる種類の計算や関数を実行できます。数式を使用して既存のデータを操作し、役立つ値を導きだしましょう 🔮


Notion関数は、既存のデータベースプロパティ、ビルトイン、関数を使用して便利な計算を実行できます。

数式のさまざまな使用方法を見ていきましょう。独自の数式を作成する準備ができたら、以下の数式の作成指示に進んでください。

例1:プロジェクト管理

この例では、3つの数式を使用してプロジェクトの進捗を追跡します。

リンク先のページをワークスペースに複製することで、この例の数式設定を調べたり試したりできます!

目標

プロパティ名

数式

使用される数式とビルトイン

プロジェクトの期日を開始日の2週間後に設定する

期日

dateAdd(開始日, 2, "week")

dateAdd()は、日付に時間を加算します。unit引数には、years(年)、quarters(四半期)、months(月)、weeks(週)、days(日)、hours(時間)、minutes(分)のいずれかを指定できます。ここではweeksを使用します。

期日が過ぎており、また、ステータスがDoneではない場合は、プロジェクトを期限切れとしてマークする。

期日が過ぎており、また、ステータスがDoneではない場合は、プロジェクトを赤い太字で期限切れとしてマークする。

期日超過?

if(and(now() > Due Date, Status != "Done"), "Overdue", "")

if(and(now() > Due Date, Status != "Done"), style("Overdue", "red", "b"), "")

if()は、条件がtrueの場合は最初の値を返し、そうでない場合は2番目の値を返します。これにより、条件付きの結果を得ることができます。

and()は論理演算子です。これにより、複数の要素がtrueであるかどうかを評価できます。

now()は現在の日付と時刻を返します。これにより、プロジェクトの期日と比較して、現在どのような状況にあるかを評価できます。

>は比較演算子です。これにより、期日が現在の日付よりも大きいという条件を比較することができます。

!=は比較演算子です。これにより、ステータスが完了と等しくないという条件を定義することができます。

style()は、テキストに書式や色を設定します。有効な書式設定スタイルには、b(太字)、u(下線)、i(斜体)、c(コード)、s(取り消し線)があります。有効な色には、graybrownorangeyellowgreenbluepurplepinkredがあります。背景色を設定するには、_backgroundを色の末尾に追加します。ここではboldredを適用します。

プロジェクトに関連付けられているタスクの数を表示する

残りのタスク

Tasks.length()

length()は、テキストまたはリスト値の長さを返します。これにより、残りのタスク数をカウントできます。

例2:プロジェクトのブレーンストーミング

この例では、2つの数式を使用してプロジェクトのアイデアをブレーンストーミングし、それぞれの優先順位を計算し、各プロジェクトが受け取る投票数を数えます。

リンク先のページをワークスペースに複製することで、この例の数式設定を調べたり試したりできます!RICEフレームワークを使用する別の設定については、このテンプレートをご覧ください。

目標

プロパティ名

数式

Reach(リーチ)、Impact(インパクト)、Confidence(信頼性)、Effort(労力)からなるRICEスコアに基づいて、優先順位を計算する

スコア(RICE)

Reach * Impact * Confidence / Effort

誰かが投票ボタンをクリックすると、それを総投票数に追加し、そのユーザーの名前をデータベースページに追加する

投票総数

length(投票者)

(応用編)例3:タスク管理の自動化

この例では、データベースオートメーション(別の種類のデータベースプロパティ)でいくつかの数式を使用し、すべてのサブタスクがDoneとしたときに親タスクをDoneとしてマークすることで、完了したプロジェクトやタスクを簡単に管理できるようにします。

データベースのオートメーションには、トリガーと、そのトリガーに基づいて実行されるアクションがあります。数式を使用すると、アクション内で使用できる変数を定義できます。

リンク先のページをワークスペースに複製することで、この例の数式設定を調べたり試したりできます!

目標

作り方

使用される数式とビルトイン

タスクがDoneに設定されるたびに、オートメーションをトリガーする

トリガー:ステータスがDoneに設定されたとき

-

オートメーションのトリガーとなったタスクに関連する最初のページを見つけ、親タスクを定義する

アクション1:親タスク変数を定義する

数式:Trigger page.Parent item.first()

Trigger page:オートメーションがトリガーされたデータベース内のページを参照します。.:そのページに関連するプロパティにアクセスすることを可能にします。

Parent item:そのプロパティのコンテンツを返します。この場合、プロパティは関連ページのリストです。

Parent itemプロパティに.first()関数を適用すると、そのリストの最初の関連ページが返されます。

親タスクにサブタスクがある場合は、すべてのサブタスクのステータスが完了であるかどうかを検証します。親タスクにサブタスクがない場合は、falseを返します。

アクション2:All subtasks done?の変数を定義する

Formula:Parent Task.Sub-item ? Parent Task.Sub-item.every(current.Status == "完了") : false

三項演算子X ? Y : Zは省略形条件式であり、条件XがtrueならYを返し、そうでなければZを返すことを意味します。if()文に代わる簡潔な表現です。

.every()は、リスト内の各項目に対して条件がtrueであるかどうかを確認します。この関数内では、currentというキーワードを使用して、評価中の行を参照できます。この場合、条件current.Status == "完了"は、現在のページのステータスプロパティが完了に設定されているかどうかを確認します。設定されている場合はtrueを返し、そうでない場合はfalseを返します。

すべてのサブタスクが完了である場合は、親タスクのステータスを完了に設定します。そうでない場合は、親タスクの既存のステータスを保持します。

アクション3:ステータスプロパティの編集

Formula: All subtasks done? ? "完了" : Parent Task.Status

ここでも、すべてのサブタスクが完了しているかどうかを確認するために三項演算子が使用されています。完了している場合、オートメーションは親タスクのステータスを完了に設定します。完了していない場合は、親タスクのステータスをそのまま維持します。

その他の数式に関するヒント

Notionで数式を使用できる方法は以下のとおりです。

数式データベースのプロパティを作成するには、次の手順で操作します。

  1. データベースの上部にあるスライダーアイコン→プロパティを編集新しいプロパティを選択します。

  2. 数式を選択します。

  3. 必要に応じて、プロパティに名前を付けます。

  4. 関数の編集を選択します。

データベースまたはボタンで数式を作成すると、数式エディターでその数式を作成および編集できるようになります。下図はその例です。

上部のフィールドは、数式を入力および編集する場所です。エディタの上部に数式を書くと、何が足りないか、あるいは数式が値を返すために何を期待しているかが表示されます。

編集の左側のパネルには、数式で使用できる要素(使用可能なプロパティ、ビルトイン、関数)が表示されます。

右側のパネルでは、左側のパネルで要素にカーソルを合わせると、その数式要素が定義されます。また、それらの要素の使用方法や構成方法の例も示されます。

データベース行でエディタを開くと、その行の数式の出力結果がライブプレビューで表示されます。

数式でお困りですか?よくある数式エラーとそのトラブルシューティング方法については、こちらの記事をご覧ください →

備考:この機能は、ビジネスプランおよびエンタープライズプランでのみご利用いただけます。

数式で何をしたいかは決まっているが、作成方法がよくわからない場合や、既存の数式を微調整したい場合、あるいは数式にエラーがあるが修正方法がわからない場合は、Notion AIが役立ちます。

数式エディタを開くと、Notion AIの顔アイコンが表示されたフィールドがあります。このフィールドをクリックして、Notion AIに数式で実行したい内容を指示するか、数式について質問して理解を深めることができます。

Notion AIへのプロンプト例をここでいくつかご紹介します。

  • 「タイトルプロパティをURLスラッグに変換して」

  • 「期日を過ぎている場合は⚠️を返して」

  • 「日付プロパティに1日追加して、緑色の太字で出力して」

  • 「関連するデータベースから日付プロパティを返して」(Notion AIはあなた関連のプロパティについても認識しています!)

  • 「この数式の出力を斜体にして」

  • 「この数式のエラーを修正して」

  • 「この数式でエッジケースを処理して」(たとえば、Notion AIは、フィールドが空欄の場合に数式がエラーとならないようにif文を追加できます。)

  • 「この数式は何をするの?」

プロンプトを入力すると、Notion AIが数式を生成するか、数式に関する質問に回答します。また、数式のアウトプットをプレビューしたり、Show typesをオンにしてアウトプットタイプ(/テキストなど)を確認したりできるため、意図した通りになっているかを確認できます。Notion AIによる変更を元に戻したり、追加のプロンプトを入力したり、高評価または低評価ボタンでフィードバックを送信したりすることも可能です。

Notion AIを使用して数式を作成、編集する場合、Notion AIは現在以下をサポートしていないことにご注意ください。

  • 反復ロジック(forループなど)。

  • ランダム()関数を必要とするランダムな生成は、Notionの数式では対応していません。「1から10までのランダムな数値を生成する」といったプロンプトは機能しません。

  • 以前のプロンプトを記憶する。

Notion AIは、数式プロパティのほか、ボタンデータベースボタンデータベースオートメーション内の数式をサポートします。

数式は、以下の組み合わせで作成することができます。

  • プロパティ。

  • 組み込み関数、または特定の計算を設定するために使用される演算子やブーリアン値です。例として、+(加算)、falseorなどがあります。

  • 関数、または特定のアウトプットを返すために数式が実行できるアクションです。例として、replacesumsortなどがあります。

数式で使用可能なビルトインと関数の全リストは、こちらをご覧ください →


フィードバックを送信

このコンテンツは役に立ちましたか?