excel - SUMIFS 和数组内的多次查找

标签 excel excel-2007

我正在尝试使用 SUMPRODUCT 公式来获取组织者(A - 文本)使用的特定周(C - 日期)和房间(E - 文本)的资金总和(O - 数字)。

=SUMPRODUCT(--(A2:A3000=S2);--(E2:E3000=R2);--(WEEKNUM(C2:C3000)=3);O2:O3000)

一次查找一个组织者时,此功能非常有效。

如何修改此公式以同时查找多个组织者?组织者列于 S2:S10。

我的想法如下:

=SUMPRODUCT(--(A2:A3000=S2 OR S3 etc.);--(E2:E3000=R2);--(WEEKNUM(C2:C3000)=3);O2:O3000)

另外 - 这可以通过更快的 SUMIFS 以简单而简洁的方式完成吗?

最佳答案

你可以像这样使用 MATCH

=SUMPRODUCT(--ISNUMBER(MATCH(A2:A3000;S2:S10;0));--(E2:E3000=R2);--(WEEKNUM(C2:C3000+0)=3 );O2:O3000)

对于 SUMIFS,您需要一个用于表示周数的辅助列......

Z 列中包含周数,请尝试

=SUMPRODUCT(SUMIFS(O:O;A:A;S2:S10;E:E;R2;Z:Z;3))

假设 S2:S10 中没有重复,否则您将重复计算。请注意,SUMPRODUCT 只是对 SUMIFS 创建的数组进行求和(由于 S2:S10,该数组包含九个值) - 后一个函数完成了艰苦的工作,因此它应该更快

顺便说一句,我不确定你原来的公式是否有效,因为 WEEKNUM 通常不接受范围......但它除了数组之外,因此在我的版本中为 +0......

关于excel - SUMIFS 和数组内的多次查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11142421/

相关文章:

excel - 查找并标记元素的第一次出现

string - 在 Excel If 语句中返回数字和文本字符串

excel - 使用数组过滤表

Excel - 将工作表中的某些行复制到另一个工作表中

c# - 给定单元格地址 =Sheet1 :A1, 如何获取值

vba - 如何将范围对象与工作表对象一起使用

r - 从 Excel 导入数据但收到警告消息

c# - Excel ExportAsFixedFormat PDF

excel - 如果两个单元格匹配,则从同一行中的第三个返回值,而与 Excel 中的顺序无关

VBA excel英语2007导致excel 2016法语错误消息