Skip to main content
FLO.W 思流Notion 公式
寫法與排查

常見錯誤與排查

Notion 公式型別不匹配、日期為空、列表混用、dateBetween 偏差和正則轉義錯誤排查。

本頁用於排查公式報錯。先找到最接近的錯誤型別,再對照安全寫法修改。

型別不匹配

錯誤示例:

"金額:" + prop("金額")

如果 金額 是數字,可能需要轉文字:

"金額:" + format(prop("金額"))

日期為空導致錯誤

錯誤示例:

formatDate(prop("截止日期"), "YYYY-MM-DD")

安全寫法:

if(empty(prop("截止日期")), "未設定", formatDate(prop("截止日期"), "YYYY-MM-DD"))

列表和單值混用

成員屬性、關聯屬性、多選屬性經常返回列表。

錯誤思路:

prop("負責人").name()

更穩妥寫法:

prop("負責人").map(current.name()).join("、")

如果只取第一個:

prop("負責人").first().name()

dateBetween() 出現一天偏差

如果你使用 now(),具體時間會參與計算。截止日期如果沒有時間,可能出現不符合直覺的差值。

任務截止日期判斷建議使用:

dateBetween(prop("截止日期"), today(), "days")

而不是:

dateBetween(prop("截止日期"), now(), "days")

公式層級過深

Notion 官方錯誤說明中提到,公式引用公式、公式引用 Rollup、Rollup 再引用公式時,會增加公式深度。深度上限為 15 層。

解決方法:

  1. 減少公式之間的鏈式引用。
  2. 把過長的公式拆分到更靠近資料來源的資料庫中。
  3. 避免在多個 Rollup 之間來回傳遞同一個計算值。
  4. 對大系統使用「原始資料 → 中間指標 → 展示結果」三層結構,不要無限巢狀。

正規表示式轉義錯誤

在 Notion 字串中寫正則時,反斜槓通常要雙寫。

匹配數字:

match(prop("文字"), "\\d+")

匹配點號:

test(prop("域名"), "\\.")

自動化返回型別錯誤

如果自動化要求填入日期,你的公式必須返回日期,不應返回文字日期。

錯誤示例:

formatDate(dateAdd(today(), 1, "days"), "YYYY-MM-DD")

正確方向:

dateAdd(today(), 1, "days")

想把這些公式直接用在任務提醒、專案進度、筆記熱力圖和統計報表裡,可以繼續了解 FLO.W 思流 Notion 模板

最後更新於