Excel 根据百分比获取条件总和

Excel 根据百分比获取条件总和

这个问题很难表述,但基本上我有一些类似于以下的数据,显示了角色列表、其基本费率成本和百分比。

我已经添加了“实际成本”列以用于测试和示例目的,但是该数据表不可编辑,因此我无法添加辅助列:

Role        Cost    Allocation  *Actual Cost*
Role 1      1000    100.00%     1000
Role 1      1000    50.00%      500
Role 2      1000    25.00%      250
Role 1      1000    75.00%      750
Role 2      1000    100.00%     1000

我需要找到一种方法来获取每个角色的实际总成本,而无需使用辅助列。

因此,从这个例子中,我可以简单地使用=sumif(A2:A5, "Role 1", D2:D5),给我

Role 1      2250
Role 2      1250

但是我需要使用的是,=sum(if(A:A = "Role 1", B:B*C:C))我知道这个求和函数没有意义,它旨在描述结果。

如果不清楚,请发表评论,我会尽力修改。

答案1

实际上,你描述的 sum 函数非常有意义。你只需要将其输入为数组公式。只需像上面一样输入,=sum(if(A:A = "Role 1", B:B*C:C))然后按将Ctrl-Shift-Enter其标记为数组公式。

请注意,如果您有很多这样的数据,并且全部引用完整的列(B:B等等),计算可能会很慢。您可以使用语法来解决这个问题B2:B5(但当然,您需要记住在添加更多行时更新它)。

答案2

正如 bensheperd 已经回答的那样,您的公式很有意义。只需将其作为数组公式输入即可(按 CTRL+SHIFT+ENTER 完成)。

或者您可以使用SUMPRODUCT
SUMPRODUCT((A:A = "Role 1")*B:B*C:C)
特别是对于较大的数据集,与数组公式相比它更快。

相关内容