Excel:如果相关键位于使用公式的值范围内,则对单元格范围求和

标签 excel excel-formula excel-2007 worksheet-function

如果关联值位于用作过滤条件的值范围内,我将尝试返回单元格范围的总和。例如,使用以下数据表:

  Keys      Values
   A        500
   B        300
   C        600
   D         20
   A        150
   C        600

以及以下要求和的键列表:

Sum Keys:
   A
   D

我正在寻找一种公式化的方法来返回 500+20+150 = 670。

我知道你可以使用多个 SUMIF,但是键的数量会根据用户想要过滤的内容而改变,并且编写足够的 SUMIF 来覆盖最大的实际情况(例如 10 左右)似乎过多,而且我觉得有一定是一个更简单的方法。

在我看来,公式看起来像这样:

=SUMIFS(Values, Keys, OR(Sum Keys), ...(optional other conditions))

我意识到这是一个简单的 VBA 问题,但我试图避免这种情况,因为电子表格将由具有不同(或没有)VBA 知识的人员审核。此外,向数据添加指示符列以显示键是否在 Sum Keys 范围内并不现实,因为将有多个选项卡汇总数据,每个选项卡在 上都有自己的过滤器关键

感谢任何帮助,尽管我意识到如果没有 VBA 这可能是不可能的。如果需要更多信息,请告诉我。

谢谢!

编辑:感谢巴里·胡迪尼的回答!请参阅他的帖子的评论,了解基于多个可接受标准范围进行求和的通用解决方案。

最佳答案

您可以使用这样的公式

=SUMPRODUCT(SUMIFS(Values,Key,Sum_Keys))

如果 Sum_Keys 有 4 个值,则 SUMIFS 公式返回一个 4 值“数组”(Sum_Keys 中的每个键一个),因此您需要另一个函数来对该数组求和。我使用 SUMPRODUCT 因为它避免了“数组输入”的需要。

您可以按照通常的方式添加更多条件,例如

=SUMPRODUCT(SUMIFS(Values,Key,Sum_Keys,日期,Specifc_date))

关于Excel:如果相关键位于使用公式的值范围内,则对单元格范围求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19860534/

相关文章:

excel - Excel VBA UDF自动完成参数

Javascript Excel 工作表

excel - 如何在Excel中对日期进行排名而不重复

导出为 XML 时,日期的 Excel 格式不起作用

excel - 四舍五入到最接近的 N 个数字

vba - 以编程方式在 VBA 代码中设置断点

python - XlsxWriter:创建新工作表

excel - 标准不在范围内的 SUMIFS

vba - 如何在 Excel 中使用 VBA 将日期和时间添加到文件名

Excel 单元格自动打开/关闭文件窗口并将文件名和路径作为单元格值