公式簡介

在此說明文件中

你可以在 Notion 資料庫中新增公式屬性,以根據其他屬性,來進行各種計算和函數運算。你可以使用公式來操作現有資料,並計算出許多有用的數值 🔮


Notion 公式可以使用您現有的資料庫屬性、內建功能與函數來執行實用的計算。

讓我們看看幾種使用公式的不同方式。如果您準備好開始建立自己的公式,請跳至我們關於建立公式的指示 下方 →

範例 1:專案管理

在此範例中,我們將使用三個公式來追蹤專案進度。

You can explore and play with the formula setups for this example by duplicating this page to your workspace!

目標

屬性名稱

公式

使用的函數與內建功能

將專案的到期日設為開始日期後的兩週

到期日

dateAdd(Start Date, 2, \"week\")

dateAdd() 可將時間加至日期。單位引數可以是下列其中之一:yearsquartersmonthsweeksdayshoursminutes。在此例中,我們將使用 weeks

若到期日已過 狀態不為 完成,則將專案標記為逾期。

若到期日已過 狀態不為 完成,則以粗體紅字將專案標記為逾期。

逾期?

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

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

if() 會在條件為真時傳回第一個值;否則傳回第二個值。這能實現條件式結果。

and() 是一個邏輯運算子。這能評估多個因素是否皆為真。

now() 會傳回目前的日期與時間。這能評估相較於專案到期日,我們目前的進度為何。

> 是一個比較運算子。這能比較到期日大於目前日期的條件。

!= 是一個比較運算子。這能定義狀態不等於 完成 的條件。

style() 可為文字新增樣式和顏色。有效的格式化樣式包括 b(粗體)、u(底線)、i(斜體)、c(代碼)或 s(刪除線)。有效的顏色為 gray(灰色)、brown(棕色)、orange(橘色)、yellow(黃色)、green(綠色)、blue(藍色)、purple(紫色)、pink(粉紅色)和 red(紅色)。將 _background 新增至顏色即可設定背景顏色。在此範例中,我們將套用boldred

顯示與專案相關聯的任務數量

剩餘任務

Tasks.length()

length() 會傳回文字或清單值的長度。這可用於計算剩餘任務的數量。

範例 2:專案腦力激盪

在此範例中,我們將使用兩個公式來進行專案構想腦力激盪、計算每個構想的優先順序分數,並計算每個專案獲得的按讚數。

You can explore and play with the formula setups for this example by duplicating this page to your workspace! For another setup that uses the RICE framework, check out this template.

目標

屬性名稱

公式

根據觸及率 (Reach)、影響力 (Impact)、信心指數 (Confidence) 和努力程度 (Effort) (RICE) 的分數,計算優先順序分數

分數 (RICE)

Reach * Impact * Confidence / Effort

當有人點擊按讚按鈕時,將其計入總票數,並將其名稱新增至資料庫頁面

總票數

length(Upvoted by)

(進階)範例 3:任務管理自動化

在此範例中,我們將在資料庫 自動化(另一種資料庫屬性)中使用一些公式,以便在所有子任務皆完成時,將父任務標記為 完成,從而更輕鬆地管理專案和任務。

資料庫自動化具有觸發條件和動作,並會根據這些觸發條件採取動作。公式可讓您定義變數,然後在動作中使用這些變數。

You can explore and play with the formula setups for this example by duplicating this page to your workspace!

目標

如何建立

使用的函數與內建功能

每次將任務設定為 完成 時,即觸發自動化

觸發:當狀態設定為 完成

-

透過尋找與觸發自動化的任務相關的第一個頁面來定義父任務

動作 1: 定義 父任務變數

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

Trigger page 參照的是觸發此自動化的資料庫頁面,而 . 則讓您能夠存取與該頁面相關聯的屬性。

Parent item 會傳回該屬性的內容,在此案例中為相關頁面的列表。

Parent item 屬性套用 .first() 函數,會傳回該列表中的 第一個 相關頁面。

如果父任務有子任務,請驗證其所有子任務的狀態是否皆為 完成。如果父任務沒有子任務,則傳回 false

動作 2: 定義 所有子任務皆完成? 變數

公式:父任務.子項目 ? 父任務.子項目.every(current.Status == \"完成\") : false

三元運算子 X ? Y : Z 是一種簡短的條件運算式,其意義為:如果 條件 X 為真,則傳回 Y;否則,則傳回 Z。它是 if() 陳述式的簡潔替代方案。

.every() 會檢查列表中的每一項是否皆符合條件。在此函數中,您可以使用關鍵字 current 來參照正在評估的列。在此案例中,條件 current.Status == \"完成\" 會檢查目前頁面的狀態屬性是否設為 完成。如果是,它將傳回 true;否則將傳回 false

如果所有子任務皆為 完成,將父任務的狀態設為 完成。若否,則保留父任務現有的狀態。

動作 3: 編輯 狀態 屬性

公式:All subtasks done? ? "完成" : 父任務.狀態

同樣地,此處使用三元運算子來檢查所有子任務是否已完成。如果已完成,自動化將會把父任務的狀態設為 完成;若否,則會保持父任務的狀態不變。

More formula inspiration

在 Notion 中,您可以透過幾種不同的方式使用公式:

若要建立公式資料庫屬性:

  1. 選取資料庫頂端的滑桿圖示 → 編輯屬性新增屬性

  2. 選取 公式

  3. 您可以視需要為屬性命名。

  4. 選取 編輯公式

一旦您在資料庫或按鈕中建立了公式,就能在公式編輯器中建立並編輯該公式,其外觀如下:

頂端的欄位是您輸入和編輯公式的地方。當您在編輯器頂端撰寫公式時,編輯器會告知您缺少什麼,或是公式為了回傳數值需要什麼。

編輯器左側的面板顯示了您可以在公式中使用的元素,換句話說,就是您可以使用的屬性、內建項目和函數。

編輯器右側的面板會在您將游標懸停於左側面板的元素上時,定義這些公式元素。它也會提供您如何使用這些元素的範例,以及它們應有的結構。

如果你是從資料庫列中開啟公式編輯器,就會見到該列公式結果的即時預覽。

Having trouble with your formula? Learn about common formula errors and how to troubleshoot them in this article →

Note: This feature is only available on the Business and Enterprise Plans.

知道您想要公式執行什麼功能,但不確定該如何建立嗎?想要對現有的公式進行一些調整嗎?在公式中看到錯誤,但不知道如何修正嗎?Notion AI 可以提供協助。

當您進入公式編輯器時,會看到一個包含 Notion AI 圖示的欄位。點擊此欄位並告訴 Notion AI 您希望公式執行什麼功能,或是詢問有關公式的問題以更深入了解。

以下是您可以提供給 Notion AI 的一些(文字)指令範例:

  • 「將標題屬性轉換為 URL 網址後綴。」

  • 「如果到期日已過,則回傳 ⚠️。」

  • 「將日期屬性增加一天,並將輸出設為綠色且粗體。」

  • 「回傳關聯資料庫中的日期屬性」(Notion AI 也了解您的關聯屬性!)

  • 「將此公式的輸出設為斜體。」

  • 「修正此公式中的錯誤。」

  • 「讓這個公式處理邊緣案例。」(例如,Notion AI 可以加入 if 陳述式,這樣當欄位為空時,公式就不會失敗。)

  • 「這個公式有什麼作用?」

輸入(文字)指令後,Notion AI 將會產生公式或回應您關於該公式的查詢。您也可以查看公式輸出的預覽,並切換開啟 顯示類型 來查看輸出類型(例如文字),確保一切看起來都符合您的需求。您可以還原 Notion AI 的變更、提供進一步的(文字)指令,或給予讚或倒讚,讓我們知道它的表現如何。

使用 Notion AI 建立與編輯公式時,請注意 Notion AI 目前不支援以下項目:

  • 迭代邏輯(例如 for 迴圈)。

  • 需要 random() 函數的隨機產生,而 Notion 公式中並沒有此函數。像「產生 1 到 10 之間的隨機數」這樣的(文字)指令將無法運作。

  • 記憶先前的(文字)指令。

Notion AI 可以協助您處理公式屬性,以及 按鈕資料庫按鈕資料庫自動化 內的公式。

公式可以透過結合以下項目來建立:

  • 屬性。

  • 內建功能,或是用於設定特定計算的運算子與布林屬性。一些範例包括 +(加)、falseor

  • 函數,或是公式為傳回特定輸出所能採取的動作。一些範例包括 replacesumsort

公式中可用的內建功能與函數完整清單請見此處 →


給予回饋

這項資源有用嗎?


Powered by Fruition