Notion中if()函数的使用
平时喜欢用一些简单的决策模型来辅助自己决策,其中常用的就是优先级矩阵(Priority Matrix)。
所谓优先级矩阵也叫艾森豪威尔方法,它利用重要性和紧急性两项指标来组织管理工作优先级和工作流程。

最近开始将印象笔记切换成Notion,在Notion中实现了利用优先级矩阵安排工作优先级的方法,效果如下图:

if()函数
在Notion中实现优先级矩阵需要用到if()函数,if()函数应用很广泛,不只是Notion中有,Excel、Wps、Googlesheets中都有应用。
if()函数语法如下:
if(布尔值, 值1, 值2)
if()函数有三个参数,根据第一个参数值的真(True)/假(False)来决定函数返回值,如果第一个参数值是真(True),函数返回值1,反之返回值2。这样说可能会有些抽象,举个例子:
if(1>0,'yes','no')
包含以上三个参数的if()函数返回值是yes,因为1>0是真(True),所以返回了值1,即yes
应用1:考试状态
假设班级某次考试成绩如下表,如果成绩>=60,则状态为及格,否则不及格。需要自动填充学生成绩状态。

在成绩列左侧添加状态列,并且Type选择Formula(如何修改Type参考用Notion制作2023进度条),注意:成绩列的Type选择Number,在点击状态标题下方单元格,在弹出的Type a formula中输入下方代码,并点击蓝色Done按钮:

if(prop("成绩") >= 60,"及格","不及格")
结果如下如:

应用2:成绩等级
需求:按照以下标准进行成绩分级:
A: 成绩 >= 90
B: 90 > 成绩 >= 80
C: 80 > 成绩 >= 60
D: 成绩 < 60
新建等级列,Type选Formula,输入以下代码:
if( prop("成绩") >= 90,"A",if( prop("成绩") >= 80,"B",if( prop("成绩") >= 70,"C","D") ) )
效果如下:

上面代码看起来很杂乱,将其格式化后如下,相对清晰许多,其实是一个三层if()函数的嵌套:

应用3:优先级矩阵
将重要性列的Type选为Select,紧急性列同理,然后分别给每个任务按照重要性和紧急性打标,新建优先级列,注意Type选Formula。

在弹出的代码输入框中输入以下代码:
if(prop("重要性") =="重要",if(prop("紧急性") =="紧急","马上做","规划做"),if(prop("紧急性") =="紧急","委托他人","删除"))
效果如下:

上述代码格式化如下,是一个两层if()函数的嵌套:

关于代码
第一次碰到嵌套函数的时候,很容易不知所措,无法理解清楚函数内部逻辑,动手写几次就明白了。
需要注意的是:代码中除中文外都是用英文输入法输入,代码中的,不要落下。
希望这次的教程对大家有帮助。