【问题标题】:Averageifs with Or带有或的平均值
【发布时间】:2018-06-15 21:39:42
【问题描述】:

我已经读到这可能是不可能的/我只是做错了,所以我想知道是否有人知道解决方法(非 VBA)或可以纠正我?谢谢!

Col A has the price of apples and oranges
Col D has apples and Oranges
Col E has the type of fruit (Red, Yellow, Green, Purple)

我正在尝试获取 Col A 的平均值,其中 Col D 是苹果,而 Col E 是红色或黄色。

我试过了:

=SUM(AVERAGEIFS(A:A,D:D,"Apples",E:E,"Red"),AVERAGEIFS(A:A,D:D,"Apples",E:E,"Yellow"))/2

但它不起作用 - 有人有什么想法吗?

【问题讨论】:

  • 非常感谢您的编辑

标签: excel excel-formula


【解决方案1】:

是的,您可以这样做:

=SUM(SUMIFS(A:A,D:D,"Apples",E:E,{"Red","Yellow"}))/SUM(COUNTIFS(D:D,"Apples",E:E,{"Red","Yellow"}))

Enter确认

编辑 公式比较

1) 在第一个屏幕截图中,所有结果看起来都相似:

2) 在第二个屏幕截图中,我将单元格 E8 更改为紫色。结果开始不同:

3) 在第三个屏幕截图中,很明显在使用 SUM/COUNTIFS 时没有使用 AVERAGE 的结果:

【讨论】:

  • 与@Jeeped 公式的结果不同是因为组的平均值不会与所有个体的平均值相同,除非每个组的成员数量相同。 SUM/COUNT 在这种情况下是更好的解决方案(你比我早了三分钟)。
  • 非常感谢
【解决方案2】:

我认为你不能在 AVERAGEIFS 中添加 OR 操作,但你可以使用它(这是一个数组公式,所以你必须使用 ctrl + shift + enter 输入它):

=AVERAGE(IF((D:D="Apples")*((E:E="Yellow")+ (E:E="Red")),A:A))

如果您不想使用数组公式(作为@JvdV 答案的替代方案),您可以使用:

=SUMPRODUCT(A:A,--(D:D="Apples"), --((E:E="Red")+(E:E="Yellow")))/SUMPRODUCT(--(D:D="Apples"), --((E:E="Red")+(E:E="Yellow")))

【讨论】:

  • 非常感谢
【解决方案3】:

JvdV的回复类似,可以直接使用AVERAGEIFS。

=AVERAGE(AVERAGEIFS(A:A, B:B, {"a","c"}))
'for your data
=AVERAGE(AVERAGEIFS(A:A,D:D, "Apples", E:E, {"Red","Yellow"}))

附录:

4.00            apples  Red
2.70            oranges Purple
2.13            apples  Purple
2.64            apples  Yellow
3.11            apples  Purple
2.96            apples  Purple
9.44            apples  Yellow
2.07            oranges Red
3.14            oranges Purple
3.58            oranges Yellow
2.44            oranges Red
2.82            apples  Red
2.86            apples  Yellow
2.23            oranges Yellow
1.95            apples  Red
2.37            oranges Yellow

上述样本数据产生以下相同的结果:

=AVERAGE(A2,A5,A8,A13,A14,A16)
=AVERAGE(AVERAGEIFS(A:A,D:D,"apples",E:E,{"red","yellow"}))
=SUM(SUMIFS(A:A, D:D, "apples", E:E, {"red","yellow"}))/SUM(COUNTIFS(D:D, "apples", E:E, {"red","yellow"}))

但是,当 { OR } 条件中有不同数量的匹配项时,就会出现错误的结果。

4.00            apples  Red
2.70            oranges Purple
2.13            apples  Purple
2.64            apples  Yellow
3.11            apples  Purple
2.96            apples  Purple
9.44            apples  Yellow
2.07            apples  Red
3.14            oranges Purple
3.58            oranges Yellow
2.44            oranges Red
2.82            apples  Red
2.86            apples  Yellow
2.23            oranges Yellow
1.95            apples  Red
2.37            oranges Yellow

【讨论】:

  • 我认为如果你有两组标准,每组有不同数量的可能性,AVERAGE(AVERAGEIFS(…. 将返回不正确的结果。例如。两个Red Apple 和三个Yellow Apple 将返回数组中每个的平均值。由于它们的成员数量不同,因此平均值不会与所有红苹果和黄苹果的平均值相同。
  • @Jeeped,不知道为什么,但我有时会得到不同的结果,同时应用我的公式和你的公式。我将在我的答案中添加一个示例。编辑:我猜 Ron Rosenfeld 刚刚解释过 :)
  • 我的错。样本数据的缺乏迫使我自己编造,我可能已经返回了过早的结果。我将深入探讨这一点。
  • 非常感谢大家!
  • @Jeeped,我已经交叉检查了。请在我编辑的答案中查看结果。
猜你喜欢
  • 2013-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 2019-11-01
  • 2019-03-03
  • 2022-11-03
  • 2022-11-21
相关资源
最近更新 更多