XOR 函数¶
1. 函数概述¶
XOR 是 Excel 的逻辑函数之一,用于判断多个逻辑条件中“是否有奇数个为 TRUE(真)”。 你可以把它理解为“异或(eXclusive OR)”:
- 如果为 TRUE 的条件数量是 奇数 ⇒ 返回 TRUE
- 如果为 TRUE 的条件数量是 偶数(包括 0 个) ⇒ 返回 FALSE
它非常适合用于:
- 多条件互斥判断(但注意它不是“只能有一个为真”,而是“真为奇数个”)
- 奇偶型逻辑校验
- 多个布尔值组合的逻辑计算
2. 基础语法¶
3. 参数说明¶
| 参数 | 是否必填 | 说明 | 可用类型示例 |
|---|---|---|---|
logical1 |
必填 | 第一个需要参与判断的逻辑值或逻辑表达式 | TRUE / FALSE、A1>0、B2="是" |
logical2... |
可选(可多个) | 第二个及之后的逻辑值或逻辑表达式 | 同上,支持多个参数 |
补充说明:
- 参数可以直接写
TRUE/FALSE,也可以写逻辑表达式(如A1="OK")。 - 逻辑表达式会先被计算为 TRUE/FALSE,再参与 XOR 的“奇数为真”判断。
4. 基础用法示范¶
下面通过一组由浅入深的例子,帮助你快速掌握 XOR 的使用方式。
4.1 两个条件的 XOR¶
| logical1 | logical2 | XOR 结果 |
|---|---|---|
| TRUE | TRUE | FALSE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | FALSE |
示例公式:
两个参数时,XOR 的效果很像“不相同则为真”。
4.2 多个条件的 XOR¶
示例 1:三个条件中有 1 个为 TRUE(奇数)⇒ TRUE
示例 2:三个条件中有 2 个为 TRUE(偶数)⇒ FALSE
示例 3:四个条件中有 3 个为 TRUE(奇数)⇒ TRUE
你也可以用一张“计数思维”的表快速理解:
| TRUE 的数量 | 奇/偶 | XOR 结果 |
|---|---|---|
| 0 | 偶数 | FALSE |
| 1 | 奇数 | TRUE |
| 2 | 偶数 | FALSE |
| 3 | 奇数 | TRUE |
| 4 | 偶数 | FALSE |
4.3 判断多个规则是否“奇数成立”¶
假设有如下数据:
A2:是否已付款(填写“是/否”)B2:是否已发货(填写“是/否”)C2:是否已签收(填写“是/否”)
你想判断:这三个状态中,等于“是”的数量是否为奇数。
当“是”的数量为 1 或 3 时返回 TRUE;为 0 或 2 时返回 FALSE。
4.4 用 XOR 表达“互斥成立”的一种实现方式¶
很多业务判断是:两个条件只能满足其一,比如:
- A 为真且 B 为假,或 A 为假且 B 为真 ⇒ 通过
- A、B 同时为真或同时为假 ⇒ 不通过
此时 XOR 就很合适:
只要 D2 与 E2 其中一个为“启用”,另一个不是,就返回 TRUE。
注意:当互斥条件超过两个时,XOR 表达的将是“为真数量为奇数”,并不等价于“只能有一个为真”。
4.5 与 AND / OR 的对比理解¶
假设有两个条件:P 和 Q
| 函数 | 何时为 TRUE | 一句话理解 |
|---|---|---|
AND(P,Q) |
都为真 | “两者都要满足” |
OR(P,Q) |
至少一个为真 | “满足其一即可” |
XOR(P,Q) |
恰好一个为真 | “只能一个成立(两条件时)” |
对应示例:
5. 总结¶
- XOR 用于判断多个逻辑条件中,TRUE 的个数是否为奇数。
- 当只有 两个条件 时,它常用于“一真一假”的互斥判断。
- 当条件变为 三个或更多 时,XOR 的语义变为“真为奇数个”,并不等价于“只能有一个为真”。
- 在多条件逻辑校验、状态组合判断、奇偶型规则筛查等场景中,XOR 能让公式更简洁、更直观。