跳到正文
Notion 系统课程

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 个步骤

  1. 将 0.857142 扩大 100 倍,得到 85.7142
  2. 使用 round() 函数将 85.7142 四舍五入,得到 86
  3. 将 86 缩小 100 倍,变成 0.86
  4. 将 Formula 的数字格式(Number format)改为 Percent,即可显示百分比 所以公式写法如下:
round(prop("每周打卡完成度") * 100) / 100

参考模板:点我

最后更新于