EP10. “逻辑函数速查”
🔒 登录后可标记已读- Google Sheets 常用的 5 个逻辑函数——AND、OR、XOR、IF、IFS,都是用来做条件判断
- AND/OR/XOR 负责判断多个条件成不成立,IF/IFS 则是把判断结果转成想要的输出文字
- 前置知识:先看过 EP03,知道公式怎么用
=开头、单元格怎么互相引用 - 适合业绩达标判断、请假/出勤条件筛选这类“符合条件就怎样”的场景
重点内容
判断类函数:AND / OR / XOR
以下面这份业绩表为例(A2:D6):
| 员工姓名 | 部门 | 本月业绩(RM) | 出勤率 |
|---|---|---|---|
| Ali | Sales | 6200 | 95% |
| Siti | Marketing | 3800 | 88% |
| Kumar | Sales | 5100 | 92% |
| Wei Ling | IT | 4700 | 90% |
| Farah | Sales | 2900 | 80% |
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| AND | =AND(logical_expression1, [logical_expression2, ...]) | 所有条件都成立才回传 TRUE,只要有一个不成立就回传 FALSE | =AND(B2="Sales", C2>5000) |
| OR | =OR(logical_expression1, [logical_expression2, ...]) | 只要有一个条件成立就回传 TRUE,全部不成立才回传 FALSE | =OR(B2="Sales", D2>90%) |
| XOR | =XOR(logical_expression1, [logical_expression2, ...]) | 条件成立的数量是奇数(1、3、5...)才回传 TRUE,两个条件时等于“只能有一个成立” | =XOR(B2="Sales", D2>90%) |
AND 例子:=AND(B2="Sales", C2>5000) 套在 Ali 那一行——B2 是 "Sales",C2 是 6200 大于 5000,两个条件都成立,回传 TRUE。套在 Wei Ling 那一行,B2 是 "IT" 不是 "Sales",就算 C2 不满足也没差,直接回传 FALSE。
OR 例子:=OR(B2="Sales", D2>90%) 套在 Wei Ling 那一行——B2 不是 "Sales",D2 出勤率刚好 90%、没有大于 90%,两个条件都不成立,回传 FALSE。套在 Kumar 那一行,B2 是 "Sales" 已经成立,直接回传 TRUE,不用管出勤率是多少。
XOR 例子:=XOR(B2="Sales", D2>90%) 套在 Ali 那一行——B2="Sales" 成立,D2=95%>90% 也成立,两个条件都成立(偶数个),XOR 回传 FALSE;套在 Kumar 那一行同样两个条件都成立,也是 FALSE。套在 Farah 那一行,B2="Sales" 成立,但 D2=80% 不大于 90%,只有一个条件成立(奇数个),回传 TRUE。
📌 文字条件一定要加引号,例如 "Sales";数字/百分比条件不用加引号,直接写 >5000、>90%。
判断结果转文字:IF / IFS
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| IF | =IF(logical_expression, value_if_true, value_if_false) | 单一条件判断,成立/不成立各回传一个指定值 | =IF(C2>=5000,"达标","未达标") |
| IFS | =IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...) | 多层条件判断,从头开始检查,遇到第一个成立的条件就回传对应值 | =IFS(C2>=6000,"优秀",C2>=5000,"达标",C2<5000,"待加强") |
IF 例子:=IF(C2>=5000,"达标","未达标") 套在 Ali 那一行,C2=6200 大于等于 5000,回传 “达标”;套在 Farah 那一行,C2=2900 小于 5000,回传 “未达标”。也可以直接把 AND/OR 包进 IF 当条件,比如 =IF(AND(B2="Sales", C2>5000),"达标","未达标"),一次判断两个条件再决定回传值。
IFS 例子:=IFS(C2>=6000,"优秀",C2>=5000,"达标",C2<5000,"待加强") 套在 Ali 那一行,C2=6200,先检查 C2>=6000 就成立,回传 “优秀”;套在 Kumar 那一行,C2=5100,第一个条件 C2>=6000 不成立,检查第二个条件 C2>=5000 成立,回传 “达标”;套在 Farah 那一行,C2=2900,前两个条件都不成立,检查到第三个条件 C2<5000 成立,回传 “待加强”。
常见错误
- ❌ AND/OR/XOR 里的文字条件忘记加引号,例如写成
B2=Sales而不是B2="Sales"——Sheets 会当成要引用一个叫 Sales 的具名区域,直接报错 - ❌ 搞混 AND 和 OR——AND 要求条件全部成立,OR 只要其中一个成立就够,两者判断结果经常正好相反
- ❌ IFS 条件顺序写反——条件要照“由严格到宽松”排列(比如先判断 >=6000,再判断 >=5000),如果先写宽松条件,严格条件永远不会被检查到,因为 IFS 只回传第一个成立的条件对应的值
- ❌ IFS 没有涵盖所有可能情况,导致某些行没有任何条件成立——这种情况 IFS 会回传
#N/A错误,最后一个条件建议用能涵盖剩余所有情况的判断(比如上面例子的C2<5000),确保每一行都有对应结果
Sources
Blog / Website: