Excel:如果相关键在使用公式的值范围内,则求和一系列单元格

我试图返回一个单元格范围的总和,如果一个关联的值是在一个值范围内用作过滤条件。 例如,使用以下数据表:

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

和下面列出的要加总的键:

 Sum Keys: A D 

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

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

在我的脑海中,公式会看起来像这样:

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

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

任何帮助表示赞赏,但我认识到这可能是不可能的,没有VBA。 请让我知道是否需要更多的信息。

谢谢!

编辑:感谢巴里霍迪尼的答案! 请参阅他的post的评论,以基于可接受标准的多个范围的总和解决scheme。

你可以使用这样的公式

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

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

你可以用通常的方式添加更多的条件,例如

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

如果要根据过滤条件来合计项目,请考虑使用

= SUBTOTAL()

工作表function。 这是处理这个任务的工具。