我有一组值,我想找出平均值。这些值位于不同的单元格中,而不是彼此之间。不应考虑零的值。
A1中我有5,在细胞C4中我有7,在细胞Z2中我有0。A1中我有5,在细胞C4中我有7,在细胞Z2中我有8。我希望使用Excel函数来实现这一点,而不需要对任何值进行硬编码。我知道,如果这些值是相邻的,例如在单元格A1,A2,A3中,我将执行=AVERAGEIF(A1:A3,">0")。
发布于 2017-11-09 16:16:22
我假设条件‘不是零’可以硬编码。而且细胞位置可以是,因为它们是不相交的。
您可以实现您自己的:
=SUM(A1, C4, Z2)/SUM(A1>0, C4>0, Z2>0)这有点麻烦,但Excel似乎不允许您在不相交的范围内使用*IF函数。你总是可以使用一个隐藏的单元格范围,但听起来你不想这么做。
发布于 2017-11-09 17:20:37
对3个单元进行过度杀伤,但如果需要,可以将此方法扩展到使用不连续范围,而不是单个单元。
=SUM(E1,C4,Z2)/INDEX(FREQUENCY((E1,C4,Z2),0),2)
发布于 2017-11-09 18:11:55
这适用于您的示例:
=AVERAGEIF(INDIRECT({"A1","C4","Z2"}),">0")https://stackoverflow.com/questions/47206507
复制相似问题