以范围为标准的Excel SUMIFS

时间:2014-10-24 21:30:44

标签: excel sumifs

我有一些问题让SUMIFS做我想做的事(也许是因为它不能)。这正是我尝试设置的内容:

  • 带有非规范化数据的工作表(服务器,扩展名,数量,大小的文件)
  • 包含字符串行(服务器名称)的工作表
  • 包含字符串行+公式
  • 的工作表

基本上,我试图了解各种数据服务器上的数据是如何被打破的。所以我有一个我关心的扩展列表(让我们说.docx,.xlsx和.pptx)和我关心的服务器列表(让我们说serv_a,serv_b和serv_c) 。鉴于我拥有的大量工作表,包含所有服务器的所有数据以及我需要的所有文件,以获取服务器上具有我关注的扩展名的文件数。

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

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

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

我确实认为过滤器的扩展列表是破坏事物的。给定单个值(.docx),我可以在给定服务器上计算143,567个文件,但查询返回1.

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您输入一系列单元格作为条件,则必须将其作为array formula输入(请参阅链接)。
您可以通过按 Ctrl + Shift + Enter 来实现。
您的公式应如下所示:

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

然后返回一个值数组,这些值是每个条件的SUMIFS结果 要将其返回到单个值,请使用接受数组参数的SUM对其进行求和 最终公式应如下所示,再次使用 Ctrl + Shift + Enter 输入。 HTH。

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

加分:barry houdini的信用

这个非数组公式的工作方式相同:

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