逻辑函数
逻辑函数用来判断条件是否成立,再决定返回 TRUE、FALSE、分数或一段文本。
使用场景
- 按分数输出等级、风险级别或推荐结果
- 同时满足多个条件时才触发某个结论
- 只要满足任意一个条件就给出提示
- 对已有判断结果做取反或组合判断
先看这些函数怎么选
| 函数 | 什么时候用 | 示例 |
|---|---|---|
IF | 只有两个结果时 | IF(总分>=60, "及格", "不及格") |
IFS | 有多个分支时 | IFS(总分<60, "不及格", 总分<80, "及格", TRUE(), "优秀") |
AND | 所有条件都要成立 | AND(语文>90, 数学>90, 英语>90) |
OR | 任意一个条件成立就行 | OR(语文>90, 数学>90, 英语>90) |
NOT | 对一个判断结果取反 | NOT(年龄<18) |
XOR | 多个条件里只想要“奇数个成立 ” | XOR(A, B) |
TRUE | 明确返回真 | IF(条件, TRUE(), FALSE()) |
FALSE | 明确返回假 | IF(条件, TRUE(), FALSE()) |
IF
IF(logical_test, value_if_true, value_if_false)
满足条件时返回一个结果,不满足时返回另一个结果。
IF(成绩<60, "不及格", "及格")
适合做最常见的二选一判断,比如是否及格、是否推荐、是否命中某个条件。
IFS
IFS(logical_test1, value_if_true1, logical_test2, value_if_true2, ...)
按顺序检查多个条件,命中第一个为 TRUE 的条件后,就返回对应结果。
IFS(成绩<60, "不及格", 成绩<80, "及格", 成绩<90, "良好", TRUE(), "优秀")
提示
IFS 很适合写等级判断。为了避免所 有条件都不满足时返回空值,建议把 TRUE(), 默认结果 放在最后做兜底。
AND
AND(logical1, logical2, ...)
只有所有条件都成立时才返回 TRUE,只要有一个条件不成立就返回 FALSE。
AND(语文成绩>90, 数学成绩>90, 英语成绩>90)
常见用法是和 IF 一起写成:
IF(AND(语文成绩>90, 数学成绩>90, 英语成绩>90), "优秀", "其他")
OR
OR(logical1, logical2, ...)
只要有一个条件成立就返回 TRUE,只有所有条件都不成立时才返回 FALSE。
OR(语文成绩>90, 数学成绩>90, 英语成绩>90)
常见用法是判断“命中任意一项即可”的场景。
NOT
NOT(logical)
把判断结果反过来:原来为 TRUE 就返回 FALSE,原来为 FALSE 就返回 TRUE。
IF(NOT(成绩<60), "及格", "不及格")
适合把已有条件直接取反,避免重复写一遍相反条件。
XOR
XOR(logical1, logical2, ...)
对多个逻辑值做异或判断。最容易理解的场景是两个条件里只有一个成立时返回 TRUE。
XOR(语文分数<90, 数学分数<90)
如果传入多个条件,可以简单理解成“成立的条件个数为奇数时返回 TRUE”。
TRUE
TRUE()
直接返回逻辑值 TRUE。它通常不会单独使用,更多是作为 IF 或 IFS 的返回值或兜底条件。
IF(ISEMPTY(方案选择), TRUE(), FALSE())