Skip to main content
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 模板

最后更新于