Skip to main content
2026 效率升级,模板限时立减 30 元
优惠码:FLOW3DAYS
仅剩 0 天 15:06:52

Notion 如何基于多列 Checkbox 状态实现自动日期推进

使用 Notion Formula 的 lets 和 empty 函数,根据多个 Checkbox 列的勾选状态自动计算并推进日期。

这个问题来自 Notion 系统课程读者的提问,经整理后分享于此。如果你在使用 Notion 的过程中遇到了类似问题,欢迎留言交流。

读者提问

你好,请问为什么我这个只显示第一个condition(如果"start"有数值,就加一天), 后面多个复合条件的结果设置无效(如果start和day1同时有数值,就加2天,以此类推),单复合条件的没设置成功是为什么

我的回答

首先,用来判断某个字段是否为空值,最好是用 empty() 这个函数,当字段是空值时,empty("Property XX") 会得到 true 的值,例如:

利用这个特性,我们就可以构造这样的一个函数来满足你的需求:

if(
    prop("Start").empty()==true,"未启动".style("b","red"),

    lets(
    a,if(prop("Start").empty()!=true,1,0),
    b,if(prop("Day 1").empty()!=true,1,0),
    c,if(prop("Day 2").empty()!=true,2,0),
    d,if(prop("Day 4").empty()!=true,4,0),
    e,a+b+c+d,
    dateAdd(prop("Start"),e,"days")
)

)

具体效果如下:

函数解析

lets 函数内部定义了以下变量:

a = if(Start不为空, 返回1, 返回0)
b = if(Day 1不为空, 返回1, 返回0)
c = if(Day 2不为空, 返回2, 返回0)
d = if(Day 4不为空, 返回4, 返回0)
e = a + b + c + d (把上面的值都加起来)

最后一行:

dateAdd(prop("Start"), e, "days")

  • 从 Start 日期开始
  • 加上 e 的值
  • 单位是天数

参考模板


📘 FLO.W 思流 — Notion 个人管理系统

FLO.W 是一套基于 Notion 搭建的个人管理模板,整合了任务、笔记、项目、习惯等模块,并配有完整的图文视频教程。

开箱即用的 Notion 模板系统
配套图文视频教程,新手友好
持续更新,长期维护
了解 FLO.W 思流模板✨ 已有 1531+ 位用户选择 FLO.W
分享本文
二一

Notion 深度用户,专注于知识管理和效率工具的研究与实践

邮件列表

加入我们的社区

订阅邮件列表,及时获取最新消息和更新