Excel 中基于多条件 OR 逻辑的 Countifs 用法
通常,您可以使用 COUNTIFS 函数,根据一个或多个条件(AND 逻辑)统计 Excel 中的单元格数量。但有时,您可能需要统计某一列或区域中包含多个值的单元格数量,也就是基于多个条件的 OR 逻辑进行统计。此时,您既可以结合 SUM 和 COUNTIFS 函数使用,也可以选择 SUMPRODUCT 函数来实现。

在 Excel 中根据 OR 条件统计单元格数量
例如,下图展示了一组数据。如果您想统计产品为“Pencil”或“Ruler”的数量,下面将为您介绍两种 Excel 公式来解决这一问题。

使用 SUM 和 COUNTIFS 函数,根据 OR 条件统计单元格数量
在 Excel 中,若要根据多个 OR 条件计数,可以搭配数组常量使用 SUM 和 COUNTIFS 函数,通用语法如下:
- range:包含要统计单元格条件的数据区域;
- criterion 1, criterion 2, criterion 3…:您希望用于统计单元格的条件。
要统计产品为“Pencil”或“Ruler”的数量,请将以下公式复制或输入到空白单元格中,然后按 Enter 键即可得到结果:

公式说明:
=SUM(COUNTIFS(B2:B13,{"Pencil","Ruler"}))
- {"Pencil","Ruler"}:首先,您需要将所有条件打包为类似 {“Pencil“,“Ruler“} 的数组常量,数组项之间用逗号分隔。
- COUNTIFS(B2:B13,{"Pencil","Ruler"}):该 COUNTIFS 函数会分别统计“Pencil”和“Ruler”的数量,结果为:{2,3}。
- SUM(COUNTIFS(B2:B13,{"Pencil","Ruler"}))=SUM({2,3}):最后,SUM 函数会对数组中的所有项进行求和,返回结果为 5.
提示:也可将单元格引用用作条件,使用下方数组公式,并同时按 Ctrl + Shift + Enter 键组合以获得正确结果:

使用 SUMPRODUCT 函数,根据 OR 条件统计单元格数量
还有另一种快捷公式,即通过 SUMPRODUCT 函数统计具备 OR 逻辑的单元格,通用语法如下:
- range:包含要统计单元格条件的数据区域;
- criterion 1, criterion 2, criterion 3…:您希望根据其统计单元格的条件。
请将下列公式复制或输入到空白单元格,并按 Enter 键返回结果:

公式说明:
=SUMPRODUCT(1*(B2:B13={"Pencil","Ruler"}))
- B2:B13={"Pencil","Ruler"}:该表达式会将“Pencil”和“Ruler”分别与 B2:B13 区域内的每个单元格进行比较。若条件成立,则返回 TRUE,否则返回 FALSE。结果如下:{TRUE,FALSE;FALSE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE;TRUE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE}。
- 1*(B2:B13={"Pencil","Ruler"}):通过乘法运算,将逻辑值 TRUE 和 FALSE 分别转换为 1 和 0,最终得到如下结果:{1,0;0,0;0,0;0,1;0,0;1,0;0,0;0,1;0,0;0,0;0,1;0,0}。
- SUMPRODUCT(1*(B2:B13={"Pencil","Ruler"}))= SUMPRODUCT({1,0;0,0;0,0;0,1;0,0;1,0;0,0;0,1;0,0;0,0;0,1;0,0}):最后,SUMPRODUCT 函数会对数组中的所有数字求和,得出结果:5.
在 Excel 中统计多组 OR 条件对应的单元格数量
有时,您可能需要根据两组或多组 OR 条件统计单元格数量。这时,您可以选择将 SUM 与 COUNTIFS 结合数组常量,或使用 SUMPRODUCT 搭配 ISNUMBER 和 MATCH 函数来实现。
使用 SUM 和 COUNTIFS 函数,根据两组 OR 条件统计单元格数量
如仅需处理两组 OR 条件,只需在 COUNTIFS 公式中额外添加一个数组常量即可。
以数据区域为例,如下图所示,现在需要统计订购了“Pencil”或“Ruler”且金额为 200 的人数。

请将下列公式输入或复制到单元格中,然后按 Enter 键获取结果,见截图:
:在此公式中,第二个数组常量需使用分号,以生成纵向数组。

使用 SUMPRODUCT 函数,根据多组 OR 条件统计单元格数量
上述公式仅适用于两组 OR 条件。如果需要统计更多条件,可以结合 SUMPRODUCT、ISNUMBER 和 MATCH 函数,使用更为复杂的公式来实现。
以以下数据为例,若需统计订购了“Pencil”或“Ruler”,且状态为“Delivered”或“In transit”,并且签收人为“Bob”或“Eko”的人数,则需要使用更为复杂的公式。

请将下列公式复制或输入到空白单元格,并按 Enter 键运行并查看计算结果,见截图:

公式说明:
=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"Pencil","Ruler"},0))*ISNUMBER(MATCH(C2:C13,{"Delivered","In transit"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0)))
ISNUMBER(MATCH(B2:B13,{“Pencil“,“Ruler“},0)):
- MATCH(B2:B13,{"Pencil","Ruler"},0):此 MATCH 函数可将 B2:B13 区域中的每个单元格与数组常量进行比较,若找到匹配项,则返回其在数组中的相对位置,否则返回错误值。最终,您将获得如下数组:{1;#N/A;#N/A;2;#N/A;1;#N/A;2;1;#N/A;2;#N/A}。
- ISNUMBER(MATCH(B2:B13,{"Pencil","Ruler"},0))= ISNUMBER({1;#N/A;#N/A;2;#N/A;1;#N/A;2;1;#N/A;2;#N/A}):ISNUMBER 函数会将数字转换为 TRUE,将错误值转换为 FALSE,结果如下:{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE}。
上述逻辑同样适用于第二个和第三个 ISNUMBER 表达式。
SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{“Pencil“,“Ruler“},0))*ISNUMBER(MATCH(C2:C13,{“Delivered“,“In transit“},0))*ISNUMBER(MATCH(D2:D13,{“Bob“,“Eko“},0))):
- 然后,这三个数组会在 SUMPRODUCT 函数中相乘,TRUE 和 FALSE 在运算时会自动转换为 1 和 0. 例如:SUMPRODUCT({1;0;0;1;0;1;0;1;1;0;1;0}*{1;1;0;0;1;1;0;1;1;0;1;1}*{1;0;0;0;0;0;0;1;0;0;1;0})=SUMPRODUCT({1;0;0;0;0;0;0;1;0;0;1;0})。
- 最后,SUMPRODUCT 函数会对数组中的所有数字进行求和,最终得出结果:3.
相关函数说明:
- SUM:
- Excel 中的 SUM 函数可用于计算所选数值的总和。
- COUNTIF:
- COUNTIF 函数是 Excel 中的一款统计工具,用于计算符合特定条件的单元格数量。
- SUMPRODUCT:
- SUMPRODUCT 函数可用于对两列或多列(或数组)对应元素相乘后,返回所有乘积的总和。
- ISNUMBER:
- Excel 中的 ISNUMBER 函数可用于判断单元格内容是否为数字。若为数字,则返回 TRUE,否则返回 FALSE。
- MATCH:
- Microsoft Excel 的 MATCH 函数可用于在指定的单元格区域中查找特定值,并返回该值在该区域中的相对位置。
更多相关文章:
- 基于条件统计唯一数值
- 在 Excel 工作表中,您可能会遇到这样的需求:根据特定条件统计唯一数值的数量。例如,如何统计下方截图中“T-shirt”产品在“Qty”列中的唯一数量?本文将为您介绍几种实现这一目标的公式方法。
- 统计同时满足两个或多个条件的单元格数量
- 在 Excel 中,如需根据两个或多个条件统计单元格数量,可借助 COUNTIFS 函数高效完成。
- 统计满足多组 OR 条件的行数
- 如果需要统计不同列中符合多组“或”条件的行数,可以使用 SUMPRODUCT 函数。例如,下面有一份产品报告,现在想要统计产品为“T-shirt”或颜色为“Black”的行数。在 Excel 中该如何实现?
这款最佳办公效率工具
Kutools for Excel —— 助您脱颖而出
| 🤖 | KUTOOLS AI 助手:基于数据分析的变革创新智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮显示或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 超级 VLookup:多条件查询 | 多值返回 | 跨多工作表 | 模糊查找…… | |
| 高级下拉列表:轻松下拉列表 | 依赖下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列 | 移动列 | 切换隐藏列的显示状态 |比较列与选择相同/不同单元格…… | |
| 特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿和表管理器|资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表群发邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 顶级 15 工具组:12 文本工具(添加文本,删除特定字符……)| 50+ 图表 类型(甘特图……)| 40+ 实用公式(基于生日计算年龄……)| 19 插入工具(插入二维码,按路径插入图片……)| 12 转换工具(小写金额转大写,汇率转换……)| 7 合并和拆分工具(高级合并行,拆分 Excel 单元格……)|……以及更多 |
Kutools for Excel 拥有超过 300 项功能,让您的需求一键轻松实现……
Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑
- 一秒即可切换数十个已打开的文档!
- 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
- 查看和编辑多个文档时,工作效率提升 50%。
- 为 Office(包括 Excel)引入高效标签页,让您同样畅享如 Chrome、Edge 和 Firefox 般的便捷体验。