读者提问
你好,请问为什么我这个只显示第一个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 的值
- 单位是天数
参考模板
关联阅读
- 3.3 Notion 函数基础入门(一):用四则运算理解 Formula 的基本特性与用法
- 3.4 Notion 函数基础入门(二):掌握更自由的打卡统计与日期间隔计算
- 3.5 Notion 函数基础入门(三):复杂逻辑判断与自定义进度条
- 功能追踪 01:详细解读 Notion Formula 2.0,这 10+ 个新特性 & 新函数让 Notion 更强大更好用
Notion 问答
本站所有文章,除非特别说明或标注,均为本站原创发布。转载本文需附上本文链接,未经授权,禁止大篇幅复制、盗用、采集或发布本站内容至其他网站、书籍等各类媒体平台。