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。 这是处理这个任务的工具。