Excel 公式函数之逻辑判断 IF
条件判断是软件程序逻辑里重要组成部分。可以说没有条件判断,就没有程序。
函数 IF
=IF(B2>90, "优秀","及格")
=IF(A2="语文", "优秀","及格")
=IF(A2="语文", IF(B2>90, "优秀","及格"))
与(AND)、或(OR)、非(NOT)
逻辑判断少不了与、或、非三种操作。一般的程序语言里是通过 &&
、||
和 !
三种符号来表示。
对于Excel公式来说,则是通过公式函数来实现。
即不能写成
=IF( A2>100 && A2<200 , "Yes", "No")
而要写成
=IF( AND( A2>100, A2<200 ), "Yes", "No")
OR
和NOT
的用法类似。
TRUE 和 FALSE
逻辑判断是为了得出 TRUE
或 FALSE
的结论。这两者也是两个特殊的函数。没有参数,直接用来表示“真”或“假“。(见下面 IFS
中的例子)
用 IFS 简化嵌套 IF
比如根据分数给成绩分类。用 IF
函数的话是下面这样。
=IF( A2>90, "A",
IF( A2>80, "B",
IF( A2>70, "C",
IF( A2>60, "D", "F")
)
)
借助 IFS
函数则可以简化成下面这样。
=IFS( A2>90, "A",
A2>80, "B",
A2>70, "C",
A2>60, "D",
TRUE, "F"
)
注意最后一个判断借助了 TRUE
作为判断条件。
Note:IFS
函数在 Excel 2016 之后的版本里才有。
SWITCH
上面的IFS
的例子里用了大于号>
来做判断。如果是用等号的号,则可以用SWITCH
函数进一步简化。
比如用数字来表示星期几
=IFS( D1=1, "星期一", D1=2, "星期二", ... , D1=7, "星期日")
可以简化为
=SWITCH( D1, 1, "星期一", 2, "星期二", ... , 7, "星期日")
不过这种用法类似于一个查询表(Lookup Table)。也许使用 LOOKUP 相关的函数 更为合适。比如
=INDEX(B1:B7, D1)
又或者
CHOOSE(D1, "星期一", "星期二", ..., "星期日")