隨著任務和專案的增加,Notion 工作區很容易越來越龐大,各種資料庫、屬性和頁面交織在一起,腦袋也容易跟著打結。
這時候,你需要一個「資訊管家」,將分散在不同資料庫中的資訊整合在一起,以直觀的方式呈現出來,讓你輕鬆掌握專案進度、任務數據和行動提醒:Notion 公告欄。
Notion 公告欄是使用資料庫的圖庫瀏覽模式、搭配公式屬性製成。今天我們將以任務管理為例,教你做一個任務公告欄。
⭐️ 今天內容看起來有點硬,但是瞭解原理之後其實很簡單哦! ⭐️
Notion 公式初心者先看這邊 👀
什麼是 Notion 公式屬性?
Notion 資料庫中的公式屬性,是一種功能強大,可以用來計算、操作、格式化其他資料庫屬性中數據的工具。
公式入門小知識
- 在撰寫公式時,若要呈現文字,使用 “文字”
- 公式的組成=名稱+括號 ()+括號內的指令。
舉例:length(”hello”) 是計算總數的公式
– 公式名稱:length
– 括號+指令:(”hello”)
length(”hello”) 這個公式會計算 hello 這個詞的字母數;若填入一組數列、或包含數個項目的資料庫屬性,就會計算項目總數。 - 相同公式的不同表現法:公式有兩種表現法,以 length()為例:
- length(數列或文字)
- 數列或文字.length()
- 寫公式時,為了方便辨認公式的組成,可以用 shift+enter 跳行排版,不會影響到公式。
- 資料庫屬性在公式欄裡會直接呈現屬性名稱,但在公式欄之外,你可以用 prop(”屬性名稱”) 表示。(把公式從 Notion 裡複製到外面,或是外面複製到 Notion 中會自動轉換。)
接下來,我們就來製作一個簡易的任務公告欄吧!
製作 Notion 公告欄的事前準備
🧑🍳 首先,我們需要的材料有:
- 任務資料庫 x1
- 公告欄資料庫 x1,設置為圖庫瀏覽模式、無預覽,並新增一個名為「公告欄」的項目
接著,用資料庫關聯屬性連結兩個資料庫。
在你新增任務到任務資料庫前,記得設定一個「關聯屬性包含公告欄」的篩選器(filter),如此一來,所有新增的任務都會自動連結到公告欄,而只有連結到公告欄的任務會被列入計算。
⚠️ 若你有其他任務資料庫檢視表,都要設定這個篩選器。
Notion 公告欄小標題
如果你的公告欄有多個區塊,你可以建立小標題,讓公告欄的資料更有條理。
你可以使用文字屬性,或公式屬性搭配 style() 文字樣式公式作為標題。
Style 公式內容:
style(”文字”, “樣式1”, “樣式2”...)
文字樣式包含:
- “b” = 粗體
- “u” = 底線
- “i” = 斜體
- “顏色” = 文字顏色,所有 Notion 中有的顏色都可使用
- “顏色_
background
” = 文字背景色,所有 Notion 中有的顏色都可使用
範例
以粗體+底線+橘色字+黃背景呈現「任務總覽」這四個字的公式:
style("任務總覽", "b", "u", "orange", "yellow_background")
💡 文字屬性與公式屬性的文字有什麼差異?
文字屬性不能同時有字體顏色+背景色,只能擇一;公式屬性則無此限制。
從任務資料庫提取所需資訊
接下來,我們要使用公式屬性,設定一個「自動將任務資訊彙整到公告欄」的機制。
(一)計算任務總數
需要使用到的公式:length()
舉例:
"你共有 " + prop("任務").length() + " 項任務。”
(二)特定條件的任務總數
當你想知道已完成任務數、未完成任務數、今天到期的任務等具有特定條件的任務,可以搭配 filter() 篩選器公式。
舉例來說,若你想知道你有多少已逾期的任務,以下是撰寫公式時的邏輯:
- 找出未完成任務
- 定義「逾期」,從未完成任務中找出符合該定義的任務
- 計算總數
- 決定在佈告欄上要搭配什麼文字呈現
1. 找出未完成任務
找出任務資料庫中,狀態不是「完成」的任務。
prop("任務").filter(current.prop(”狀態”) != “完成”)
公式簡化呈現:任務.filter(current.狀態 != “完成”)
- filter() 通常和 current 搭配使用,在這裡可以先想成他們是一組的。
- != 是「不等於」的意思。順帶一提,「等於」是 ==。
2. 定義「逾期」
找出未完成任務中,期限在今天以前者(期限 < 今天)。
(1) 先定義「今天」
- 1️⃣ now() 公式會呈現現在當下的日期+時間
- 2️⃣ 我們只想要當下的日期,不要時間(一般來說,任務期限若沒有設定時間,預設都會認為他是 0:00,因此如果只用 now(),當天到期的任務都會被標示成逾期)使用 formatDate(now(), “YYYY-MM-DD”) 公式來抓取日期。
- 3️⃣ 因為上個步驟用了 format 的公式,這個日期會被轉為文字,不會被 Notion 認定成日期,所以我們要再用 parseDate() 讓 Notion 知道他是日期。
(2) 再定義「逾期」
原理:逾期是指期限在今天以前,以「期限 < 今天」表示。
prop(”任務”).filter(current.prop("期限") < parseDate(formatDate(now(), "YYYY-MM-DD")))
公式簡化呈現:任務.filter(current.期限 < 今天)
3. 計算逾期任務總數
在上一步驟得到的公式最後加上 .length() 以計算總數。
4. 決定在佈告欄上要搭配什麼文字呈現
經過前幾個步驟,你會得到「逾期任務」的總數——一個數字,你需要搭配文字,讓你知道這個數字代表了什麼。
共有兩種作法:
(1) 用 +
把所有資訊串連在一起
如果公式很複雜,你可以用第二種方式:
(2) 使用 let() 來簡化公式
let()
就像數學公式用 x 和 y 來代表變數一樣,他的組成是 let(代號, 代表物, 呈現方式)
進階用法
如果你想依照逾期任務數來呈現不同的文字,可以如上圖用 ifs() 來表示。
- 如果 a=0,顯示「你沒有任何預期任務,太棒啦!」
- 如果 a>0,顯示「你有 a 項預期任務。」
最後的公式結果
你可以點選下列按鍵看看我的公式設定,也歡迎你複製該頁面,改成自己需要的形式:
實際應用
在我製作的 Notion 模板中,時常會運用公告欄來統整資訊。
例如我的 CRM Elite 客戶關係管理模板(英文版)中,我在各個頁面的側邊欄都放上當期業績的報表,也在任務、聯絡人、款項追蹤等各個頁面中使用公告欄統整資訊。
結語
Notion 公式有點小困難,希望今天的教學可以帶你輕鬆地理解,幫助你打造一個高效 Notion 工作區。
如果你有任何問題或回饋,都歡迎留言跟我分享哦!