KutoolsforOffice — 一套方案,五大工具。事半功倍。

在 Excel 中统计包含特定值的行数

作者Xiaoyang修改日期

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

doc-按特定数值统计行数-1


统计包含特定值的行数

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

doc-按特定数值统计行数-2

要统计包含特定值的行数,通用公式语法如下:

{=SUM(–(MMULT(–(data=X),TRANSPOSE(COLUMN(data)))>0))}
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 组合键,即可获得正确结果,见截图:

doc-按特定数值统计行数-3


公式解析:

=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))

doc-按特定数值统计行数-4


相关函数说明:

  • 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 般的便捷体验。