Excel中来自不包含零的单元格的平均值
我有一套我想要find的平均值。 值是在不同的单元格中,而不是彼此靠近。 零的值不应该被考虑。
- 在单元格
A1
Eg1有5,在单元格C4
我有7,在单元格Z2
我有0。 - 在单元格
A1
Eg2我有5,在单元格C4
我有7,在单元格Z2
我有8。
- 在例1中,平均值应该是(5 + 7)/ 2
- 在例2中,平均值应该是(5 + 7 + 8)/ 3
我想用Excel函数来实现这个function,不需要任何值的硬编码。 我知道,如果值是彼此相邻,例如在单元格A1,A2,A3
我会做=AVERAGEIF(A1:A3,">0")
我将假设条件“不为零”可以被硬编码。 此外,单元格的位置可以是,因为它们是不相交的。
你可以实现你自己的:
=SUM(A1, C4, Z2)/SUM(A1>0, C4>0, Z2>0)
这有点麻烦,但是Excel似乎不让你在不相交的范围上使用*IF
函数。 你总是可以使用一个隐藏的单元格范围,但是这听起来像你不想这样做。
过度杀伤3个细胞,但这种方法可以扩展到使用不连续范围,如果需要的话,而不是单个细胞
=SUM(E1,C4,Z2)/INDEX(FREQUENCY((E1,C4,Z2),0),2)
这适用于你的例子:
=AVERAGEIF(INDIRECT({"A1","C4","Z2"}),">0")