根据条件公式求和

时间:2017-10-16 20:51:54

标签: excel excel-formula

尝试创建一个Excel工作表,该工作表将使用excel公式执行特定求和。条件如下。

  • 仅限唯一名称的总和。
  • 对于所有唯一名称,检查值都是相同的,因此它只应被评估一次。
  • 如果提取值为Y,则只应将存款金额添加到总金额中。

因此

John = 500 + 20 + 30

Mary = 125 + 50 + 45 (20 does not get added because Extract is N)

Tom = 20 + 10

我目前的公式是

=VLOOKUP($F2,$A:$D, 2) + SUMIFS($C:$C,$A:$A,$F2,$D:$D,"Y")

有没有更好的方式或更简洁的方式来做这个而不是两个单独的功能?

谢谢。

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试根据唯一值获得总和和计数通常非常繁琐。你的方法实际上是一种非常有效的方法,只为每个名称提取一个值,并将SUMIF分成一个单独的函数,结果比你试图将两者结合起来更优雅。

我建议的唯一改进,除非您绝对100%确定您的数据集将始终按字母顺序按名称排序,并且始终包含您要搜索的名称,即更改VLOOKUP要搜索完全匹配,以防止它意外返回不同名称的金额:

=VLOOKUP($F2,$A:$D,2,0) + SUMIFS($C:$C,$A:$A,$F2,$D:$D,"Y")

如果你有一个非常大的数据集,并且使用完全匹配的VLOOKUP会遇到性能问题,那么你可以使用double vlookup公式加快速度(请注意,这仍然要求数据按名称排序,但它处理您在数据中不存在的名称问题:

=IF(VLOOKUP($F2,$A:$D,2)=$F2,VLOOKUP($F2,$A:$D,2)) + SUMIFS($C:$C,$A:$A,$F2,$D:$D,"Y")