如果关联值在用作过滤条件的值范围内,我试图返回一系列单元格的总和。例如,使用以下数据表:
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
范围内是不现实的,因为会有多个标签汇总数据,每个标签都有Key
上的自己的过滤器
任何帮助都表示赞赏,但我意识到如果没有VBA,这可能是不可能的。如果需要更多信息,请告诉我。
谢谢!
编辑:谢谢巴里·胡迪尼的回答!根据可接受标准的多个范围,查看他的帖子中关于求和的一般解决方案的评论。答案 0 :(得分:6)
您可以使用这样的公式
=SUMPRODUCT(SUMIFS(Values,Key,Sum_Keys))
如果Sum_Keys有4个值,则SUMIFS公式返回一个4值“数组”(Sum_Keys中每个键一个),因此您需要另一个函数来对该数组求和。我使用SUMPRODUCT因为它避免了“数组输入”的需要。
您可以通常的方式添加更多条件,例如
=SUMPRODUCT(SUMIFS(Values,Key,Sum_Keys,Dates,Specifc_date))
答案 1 :(得分:1)
如果您想根据过滤条件对项目求和,请考虑使用
<强> = SUBTOTAL()强>
工作表功能。它是处理此任务的工具。