以范围作为标准的Excel SUMIFS

我有一些问题得到SUMIFS做我想做的事(也许是因为它不能)。 这正是我想要设置的:

  • 非规范化数据表(服务器,扩展名,计数,大小的文件)
  • 带有行的string(服务器名称)
  • 带有string+公式的行

基本上我试图看看我的各种数据服务器上的数据是如何分拣的。 所以我有一个我关心的扩展名列表(比如说.docx,.xlsx和.pptx)以及我关心的服务器列表(比如serv_a,serv_b和serv_c)。 鉴于大量的工作表,我已经从所有的服务器的所有数据和所有文件我需要得到的文件在服务器上有扩展,我关心的文件的数量。

这是我现在使用的公式(它不工作)

=SUMIFS(data!$C:$C, data!$A:$A, A2, data!$B:$B, filter!$A:$A) 

数据!$ C是服务器上扩展的数量,data!$ A是服务器名称,A2是我要过滤的服务器名称,而filter!$ A是我要过滤的扩展名列表。

我认为这是扩展的列表filter正在破坏的东西。 给定一个值(.docx)我可以计算给定服务器上的143,567个文件,但查询返回1。

谢谢!

如果input单元格范围作为条件,则必须将其作为数组公式input(请参阅链接)。
你可以通过按Ctrl + Shift + Enter来实现
你的公式应该如下图所示:

{=SUMIFS(data!$C:$C, data!$A:$A, A2, data!$B:$B, filter!$A:$A)}

这将返回一个值的数组,这是每个条件的SUMIFS结果。
为了将它返回到一个单一的值,使用接受数组参数的SUM进行汇总。
最终公式应该如下所示,再次使用Ctrl + Shift + Enterinput 。 HTH。

{=SUM(SUMIFS(data!$C:$C, data!$A:$A, A2, data!$B:$B, filter!$A:$A))}

奖金:给巴里胡迪尼的信贷

这个非数组公式的工作原理是一样的:

=SUMPRODUCT(SUMIFS(data!$C:$C, data!$A:$A, A2, data!$B:$B, filter!$A:$A))