在使用資料庫時,對每個項目使用唯一的 ID 通常是有用的。 通過將時間戳與各種IF語句組合,你可以建立一個公式,為 Notion 資料庫中的每個頁面生成唯一的 ID。
1. 建立你的資料庫
在本範例中,我們將使用具有以下屬性和相應屬性資料類型的任務資料庫。
- Task →
Title
(標題)
- Created Time →
Created Time
(建立時間)
- Creator →
Created By
(建立人)
- Category →
Select
(單選)
- Project →
Select
(單選)

2. 為每個屬性值分配一個編碼
對於那些包含固定可能值並保持不變的屬性,例如
Select
(單選)和 Created By
(建立人),為每個可能值建立一個「編碼」。 你的編碼可以是任何字符,包括表情符號,但為了簡單起見,我們將堅持使用數字。 像這樣:Codes
Property
Name
Code
3. 使用此公式生成編碼
在你的任務資料庫中,你可以根據在其他屬性字段中輸入的內容自動生成這些編碼。 這是IF語句的工作原理:
Creator(建立人)
If 建立人 是 "Steve Cook," 輸出
"1"
;
if 建立人 是 "Howard Johnson," 輸出 "2"
;
if 建立人 是 "Anna Huffington," 輸出 "3"
;
否則, 輸出 "0"
.if(prop("Creator") == "Steve Cook", "1", if(prop("Creator") == "Howard Johnson", "2", if (prop("Creator") == "Anna Huffington", "3", "0")))
Category(類別)
If 類別 是 "Work," 輸出
"1"
;
if 類別 是 "Personal," 輸出 "2"
;
否則, 輸出 "0"
.if(prop("Category") == "Work", "1", if(prop("Category") == "Personal", "2", "0"))
Project(專案)
If 專案 是 "Project 1," 輸出
"1"
;
if 專案 是 "Project 2," 輸出 "2"
;
if 專案 是 "Project 3," 輸出 "3"
;
否則, 輸出 "0"
.if(prop("Project") == "Project 1", "1", if(prop("Project") == "Project 2", "2", if(prop("Project") == "Project 3", "3", "0")))
- *注意:**如果由於任何原因無法匹配,則生成的編碼將為0。
4. 將時間轉換為小數
讓我們在上面生成的現有編碼基礎上,添加一個基於任務建立時間的編碼,以獲得真正唯一的 ID。使用
timestamp()
函數將每個任務的建立時間轉換為小數:timestamp( prop("Created Time") )
。- 要將時間戳轉換為字符串,請使用
format()
函數:format( timestamp( prop("Created Time") ) )
5. 合併公式以獲取你的頁面 ID
要生成組合的 ID,請將各個公式括在括號中,並用
+
號分開。 通過將游標懸停並點選 Copy to Clipboard
(複製到剪貼簿)來複製此代碼。6. 將頁面 ID 屬性添加到你的資料庫
返回資料庫,新建頁面 ID 列,屬性類型選擇
Formula
。 點選此列中的任何單元格,然後將步驟 5 中的公式貼上到彈出的文字框中。
7. 運用字符發揮創意
為簡單起見,我們使用不分隔的數字作為唯一 ID,但你可以通過合併其他字符類型,選擇使 ID 更清晰(又有趣)。 以下是一些想法:
- 在我們用
+
號合併我們的公式時,你可以選擇用破折號分隔頁面 ID 中代表的屬性:+ "-" +
。

- 通過使用字母而不是數字,你可以快速解釋 ID 的含義。 例如,我們可以使用建立者的縮寫而不是數字編碼:

- 表情符號也可以既有趣又實用,就像下面這樣,可以區分不同類別:
