跳到主要内容

如果在 Excel 中满足多个条件,则计算行数

作者:晓阳 最后修改时间:2021-09-14

根据多个条件计算区域中的行数,其中一些取决于在行级别工作的逻辑测试,Excel 中的 SUMPRODUCT 函数可能会对您有所帮助。

例如,我有一个包含计划和实际销售额的产品报告,现在,我想计算包含实际销售额大于计划销售额的 Apple 的行,如下图所示。 要解决这个任务,最有效的函数是 SUMPRODUCT 函数。

如果使用 SUMPRODUCT 函数满足多个条件,则计算行数


如果使用 SUMPRODUCT 函数满足多个条件,则计算行数

要在满足多个条件时计算行数,请使用 Excel 中的 SUMPRODUCT 函数,通用语法为:

=SUMPRODUCT((logical1)*(logical2))
  • logical1, logical2:用于比较值的逻辑表达式。

1. 要计算实际销售量大于计划销售量的 Apple 行数,请应用以下公式:

=SUMPRODUCT(($C$2:$C$10>$B$2:$B$10)*($A$2:$A$10=E2))

备注:在以上公式中, C2:C10>B2:B10 是将 C 列中的值与 B 列中的值进行比较的第一个逻辑表达式; A2:A10=E2 是第二个逻辑表达式,用于检查单元格 E2 是否存在于 A 列中。

2。 然后按 输入 获得所需结果的关键,请参见屏幕截图:


公式说明:

=SUMPRODUCT(($C$2:$C$10>$B$2:$B$10)*($A$2:$A$10=E2))

  • $C$2:$C$10>$B$2:$B$10: 该逻辑表达式用于比较每行C列的值与B列的值,如果C列的值大于B列的值,则显示TRUE,否则显示FALSE,并返回数组值如下:{TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE}。
  • 2 澳元:10 澳元=E2:此逻辑表达式用于检查单元格E2 是否存在于区域A2:A10 中。 所以,你会得到这样的结果:{TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE}。
  • ($C$2:$C$10>$B$2:$B$10)*($A$2:$A$10=E2):乘法运算用于将这两个数组相乘为一个数组,返回结果为:{1;0;1;0;0;0;0;1;0}。
  • SUMPRODUCT(($C$2:$C$10>$B$2:$B$10)*($A$2:$A$10=E2))= SUMPRODUCT({1;0;1;0;0;0;0;1;0}):这个 SUMPRODUCT 将数组中的数字相加并返回结果:3。

使用的相对功能:

  • SUMPRODUCT:
  • SUMPRODUCT函数可用于将两个或多个列或数组相乘,然后获得乘积之和。

更多文章:

  • 如果满足内部标准,则计算行数
  • 假设您有今年和去年的产品销售报表,现在,您可能需要统计今年销售额大于去年或今年销售额小于去年的产品,如下所示截图显示。 通常,您可以添加一个辅助列来计算两年之间的销售差异,然后使用 COUNTIF 来获取结果。 但是,这篇文章,我将介绍 SUMPRODUCT 函数来直接获取结果,无需任何辅助列。
  • 计算两列之间的匹配
  • 例如,我在 A 列和 C 列中有两个数据列表,现在,我想比较两列并计算 A 列中的值是否在 C 列的同一行中找到,如下面的屏幕截图所示。 在这种情况下,SUMPRODUCT 函数可能是您在 Excel 中解决此任务的最佳函数。
  • 计数单元格数等于多个值之一
  • 假设,我在 A 列中有一个产品列表,现在,我想从 A 列中获取列在 C4:C6 范围内的特定产品 Apple、Grape 和 Lemon 的总数,如下图所示。 通常,在 Excel 中,简单的 COUNTIF 和 COUNTIFS 函数在这种情况下不起作用。 这篇文章,我将谈谈如何通过 SUMPRODUCT 和 COUNTIF 函数的组合快速轻松地解决这个工作。

最佳办公效率工具

Kutools for Excel-帮助您从人群中脱颖而出

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项  |  删除空白行  |  合并列或单元格而不丢失数据  |  不使用公式进行四舍五入 ...
超级VLookup: 多重标准  |  多重价值  |  跨多页  |  模糊查询...
副词。 下拉列表: 简易下拉列表  |  依赖下拉列表  |  多选下拉列表...
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  将列与 选择相同和不同的单元格 ...
特色功能: 网格焦点  |  设计图  |  大方程式酒吧  |  工作簿和工作表管理器 | 资源库 (自动文本)  |  日期选择器  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符 ...)  |  50+ 图表 类型 (甘特图 ...)  |  40+ 实用 公式 (根据生日计算年龄 ...)  |  19 插入 工具 (插入二维码, 从路径插入图片 ...)  |  12 转化 工具 (小写金额转大写, 货币兑换 ...)  |  7 合并与拆分 工具 (高级组合行, 拆分 Excel 单元格 ...)  |  ... 和更多

Kutools for Excel 拥有超过 300 个功能, 确保只需点击一下即可获得您所需要的...

描述


Office 选项卡 - 在 Microsoft Office(包括 Excel)中启用选项卡式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 为 Office(包括 Excel)带来高效的选项卡,就像 Chrome、Edge 和 Firefox 一样。
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
=SUMPRODUCT({Array of True/False}) doesn't count the True values in the array anymore (as of the SUM or COUNT formulaes).
But you can force the convertion of True/False to 1 and 0 by adding the '--' operator right before the array:
=SUMPRODUCT(--{Array of True/False}).
You can also type this operator right after the multiplication sign, giving the strange '*--' operator.

In this exemple, a working formulae would be:
=SUMPRODUCT(--($C$2:$C$10>$B$2:$B$10)*--($A$2:$A$10=E2))
This comment was minimized by the moderator on the site
Hello Professor X,

You are right in one way. The double negative (--) is one of several ways to coerce TRUE and FALSE values into their numeric equivalents, 1 and 0. Once we have 1s and 0s, we can perform various operations on the arrays with Boolean logic.

But our formula doesn't need the the double negative (--), making the formula more compact. This is because the math operation of multiplication (*) automatically converts the TRUE and FALSE values to 1s and 0s. Have a nice day.

Sincerely,
Mandy
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations