Notion 函数基础入门 ②:掌握打卡与日期计算,从人脉管理到目标统计
在上一篇文章中,我们介绍了 Notion 的数字、日期、以及字符串这三种数据类型,而 Checkbox 则是剩下的最后一种类型,即布尔值
布尔值与打卡计算
基础概念
在上一篇文章中,我们介绍了 Notion 的数字、日期、以及字符串这三种数据类型,而 Checkbox 则是剩下的最后一种类型,即布尔值。
布尔值是一种计算机编程术语,并且有真(True)和假(False)之分,其中 True=1,False=0,基于这点我们可以利用布尔值在 Notion Formula 中进行一些比较复杂的操作。
Checkbox 与布尔值
在 Notion Formula 中,我们可以将 Checkbox 的打勾和非打勾状态分别对应布尔值的 True 和 False。
例如在下图中我创建了一个 Checkbox 字段和 Formula 字段,用 toNumber() 将 Checkbox 转换为数字,打勾是 1,不打勾则是 0,如此一来我们就可以对 Checkbox 进行各种计算统计了。
逻辑判断与布尔值
在 Formula 中,我们可以直接使用 >、< 或者两个等号 == 来进行逻辑判断。
例如在下面的数据库中,我们用公式来判断「消费额」这个字段是否超过了 300,如果超过,则布尔值为 true 并将自动显示为打钩状态,否则布尔值为 false 并显示为非打钩状态:
如此一来我们就可以对这个 Formula 进行分组操作,分别是「打勾组」和「非打勾组」:
另外,我们还可以用两个等号==来判断两个字段是否相同,如果相同则为 true,不同则为 false:
日期判断与布尔值
除了可以直接对数字进行大小对比,我们也同样可以用 >、<、==这三个符号来对比日期并获得相应的布尔值:

Checkbox 与打卡计算
在前面的基础介绍中,我们已经可以用 toNumber() 这个函数来将 Checkbox 的打勾和非打勾状态转换为数字 1 或者 0,如此一来我们就可以去计算多个 Checkbox 的打勾百分比:
在下面的案例中,我们将一周七天的 Checkbox 都用 toNumber() 函数转换为数字,将这些数字相加,并将求得的和除以 7,如此就能计算每周的打卡完成度:
公式写法可参考:
(
prop("星期 1").toNumber()+
prop("星期 2").toNumber()+
prop("星期 3").toNumber()+
prop("星期 4").toNumber()+
prop("星期 5").toNumber()+
prop("星期 6").toNumber()+
prop("星期 7").toNumber()
) / 7但这时你可能会发现,上面的计算结果的小数位有点多,就算将 Formula 字段的数字格式设置为百分比(percent)的话,似乎也无法保留小数点后两位:
这里我们可以用 round() 这个函数来进行优化操作,它的作用是对数字进行四舍五入,如下图所示:
所以如果我们希望将 0.857142 变成 86%,就需要以下 4 个步骤
- 将 0.857142 扩大 100 倍,得到 85.7142
- 使用
round()函数将 85.7142 四舍五入,得到 86 - 将 86 缩小 100 倍,变成 0.86
- 将 Formula 的数字格式(Number format)改为 Percent,即可显示百分比 所以公式写法如下:
round(prop("每周打卡完成度") * 100) / 100
参考模板:点我
最后更新于