图片展示与跳转 展示图片

Notion 问答:如何基于多列 checkbox 状态实现自动日期推进

📘 这个问题来自我的 Notion 付费课程的读者提问,经整理之后分享于此。如果你也希望获得 Notion 答疑服务,欢迎订阅我的 Notion 系统课程。

课程详情:点我

读者提问

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

Notion 问答:如何基于多列 checkbox 状态实现自动日期推进插图

我的回答

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

Notion 问答:如何基于多列 checkbox 状态实现自动日期推进插图1

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

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")
)

)

具体效果如下:

Notion 问答:如何基于多列 checkbox 状态实现自动日期推进插图2

函数解析

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 的值
  • 单位是天数

参考模板

关联阅读

Notion 问答

本站所有文章,除非特别说明或标注,均为本站原创发布。转载本文需附上本文链接,未经授权,禁止大篇幅复制、盗用、采集或发布本站内容至其他网站、书籍等各类媒体平台。

Notion 问答

Notion 问答:如何更好地记录和管理工作日报

2025-1-24 20:21:04

Notion 问答

Notion 问答:如何用同步块构建导航栏 or 菜单栏?

2025-2-1 16:20:49

图片展示与跳转 展示图片

欢迎订阅我的 Notion 课程

一站式学习,从入门到精通

X