在 Excel 中统计包含特定值的行数
在 Excel 工作表中,统计包含特定值的单元格数量相对简单,但要统计包含特定值的行数则更具挑战性。在这种情况下,结合使用 SUM、MMULT、TRANSPOSE 和 COLUMN 函数的高级公式将为您提供有效的解决方案。本教程将为您详细讲解如何构建此类公式,助您轻松实现目标。

统计包含特定值的行数
例如,某张工作表中有一组数值范围,现在,您需要统计包含指定值“300”的行数,如下截图所示:

要统计包含特定值的行数,通用公式语法如下:
{=SUM(–(MMULT(–(data=X),TRANSPOSE(COLUMN(data)))>0))}
Array formula, should press Ctrl + Shift + Enter keys together.
Array formula, should press Ctrl + Shift + Enter keys together.
- data:要检查是否包含特定值的单元格区域;
- X:用于统计特定数值所在行数。
1. 请在需要显示结果的空白单元格中输入或粘贴以下公式:
=SUM(--(MMULT(--($A$2:$C$12=300),TRANSPOSE(COLUMN($A$2:$C$12)))>0))
2. 按下 Ctrl + Shift + Enter 组合键,即可获得正确结果,见截图:

公式解析:
=SUM(--(MMULT(--($A$2:$C$12=300),TRANSPOSE(COLUMN($A$2:$C$12)))>0))
- --$A$2:$C$12=300:此表达式用于判断区域 A2:C12 中是否存在“300”这一数值,并生成由 TRUE 和 FALSE 组成的数组。双负号会将 TRUE 转换为 1,FALSE 转换为 0. 因此,您将得到如下结果:{0,0,0;1,0,0;0,0,0;0,1,1;0,0,0;0,1,0;0,0,0;1,0,0;0,0,1;0,0,0;1,1,1}。这个 11 行 3 列的数组可作为 MMULT 函数的 array 1 参数使用。
- TRANSPOSE(COLUMN($A$2:$C$12)):这里的 COLUMN 函数用于获取区域 A2:C12 的列号,返回一个包含三列的数组,如 {1,2,3}。接着,TRANSPOSE 可将该数组转换为三行数组 {1;2;3},便于作为 MMULT 函数的 array 2 参数使用。
- MMULT(--($A$2:$C$12="Joanna"),TRANSPOSE(COLUMN($A$2:$C$12))):该 MMULT 函数会返回上述两个数组的矩阵乘积,结果如下:{0;1;0;5;0;2;0;1;3;0;6}。
- SUM(--(MMULT(--($A$2:$C$12="Joanna"),TRANSPOSE(COLUMN($A$2:$C$12)))>0))= SUM(--{0;1;0;5;0;2;0;1;3;0;6}>0):首先,检查数组中大于 0 的值:大于 0 的为 TRUE,小于或等于 0 的为 FALSE。接着,使用双负号将 TRUE 和 FALSE 强制转换为 1 和 0,因此得到:SUM({0;1;0;1;0;1;0;1;1;0;1})。最后,SUM 函数对数组中的值求和,返回结果为 6.
提示:
如果需要在工作表中统计包含特定文本的行数,请应用下方公式,并记得按下 Ctrl + Shift + Enter 组合键,以获得统计总数:
=SUM(--(MMULT(--(ISNUMBER(SEARCH("Joanna",A2:C12))),TRANSPOSE(COLUMN($A$2:$C$12)))>0))

相关函数说明:
- SUM:
- Excel 的 SUM 函数可返回所选数值的总和。
- MMULT:
- MMULT 函数可返回两个数组的矩阵乘积。
- TRANSPOSE:
- TRANSPOSE 函数可根据指定区域的单元格,返回方向转换后的新数组。
- COLUMN:
- COLUMN 函数可返回公式所在列的列号,或返回指定引用的列号。
更多相关文章:
- 按内部条件统计行数
- 假设您拥有一份包含本年度与去年产品销售数据的报告,现在需要统计本年度销售额高于去年,或低于去年的产品数量,如下图所示。通常,您可以通过新增辅助列计算两年销售额的差值,再用 COUNTIF 得出结果。但本文将为您介绍如何直接利用 SUMPRODUCT 函数,无需添加任何辅助列,即可轻松获得所需数据。
- 按多个条件统计行数
- 如果您需要根据多项条件统计某一区域的行数,并且部分条件需要逐行判断,Excel 的 SUMPRODUCT 函数将成为您的得力助手。
- 统计等于多个值之一的单元格数量
- 假设 A 列为产品列表,现在需要统计 A 列中 C4:C6 区域指定的特定产品(如 Apple、Grape 和 Lemon)的总数量,如下图所示。通常,Excel 中的 COUNTIF 和 COUNTIFS 函数无法直接实现这一需求。本文将为您介绍如何结合 SUMPRODUCT 和 COUNTIF 函数,快速高效地完成此目标。
这款最佳办公效率工具
Kutools for Excel —— 助您脱颖而出
| 🤖 | KUTOOLS AI 助手:基于数据分析的变革创新智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮显示或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 超级 VLookup:多条件查询 | 多值返回 | 跨多工作表 | 模糊查找…… | |
| 高级下拉列表:轻松下拉列表 | 依赖下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列 | 移动列 | 切换隐藏列的显示状态 |比较列与选择相同/不同单元格…… | |
| 特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿和表管理器|资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表群发邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 顶级 15 工具组:12 文本工具(添加文本,删除特定字符……)| 50+ 图表 类型(甘特图……)| 40+ 实用公式(基于生日计算年龄……)| 19 插入工具(插入二维码,按路径插入图片……)| 12 转换工具(小写金额转大写,汇率转换……)| 7 合并和拆分工具(高级合并行,拆分 Excel 单元格……)|……以及更多 |
在您的首选语言中使用 Kutools——支持英语、西班牙语、德语、法语、中文以及 40+ 种其他语言!
Kutools for Excel 拥有超过 300 项功能,让您的需求一键轻松实现……
Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑
- 一秒即可切换数十个已打开的文档!
- 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
- 查看和编辑多个文档时,工作效率提升 50%。
- 为 Office(包括 Excel)引入高效标签页,让您同样畅享如 Chrome、Edge 和 Firefox 般的便捷体验。