Excel从非连续单元格中找到中位数,并忽略0值

时间:2019-05-09 02:26:54

标签: excel google-sheets excel-formula median google-sheets-formula

我有一个复杂的Excel工作表,想找到散布在不同单元格上的中值,例如 A1,C1,G1,X1,Z1等,并且想要忽略具有0个值的单元格这样就不能在median中计入这些0,就知道我该怎么做吗?

下面的函数可以做到这一点,但问题是:它也计数为0,是否有任何方法可以修改此公式以忽略0s

MEDIAN(A1,C1,G1,X1,Z1)

2 个答案:

答案 0 :(得分:0)

我在Google表格上尝试了此操作,并且我认为它应该可以在Excel上运行。中值函数将忽略空白单元格。因此,您只需要将0设为空即可。 IF可以用于此目的。假设我们知道AA列为空。然后,如果您的公式为MEDIAN(A1,我们将需要说MEDIAN(if(A1=0,AA1,A1),。对C1,G1,X1和Z1进行类似的处理将为您提供所需的公式。 请注意,如果代替AA1我们可以只说“”,那会很好。但这会导致错误。

修订:我根据有益的评论添加了一些新的想法和说明。 最初的想法导致了公式:

=MEDIAN(if(A1=0,AA1,A1),if(C1=0,AA1,C1),if(G1=0,AA1,G1),if(X1=0,AA1,X1),if(Z1=0,AA1,Z1))

Chronocidal提出了以下改进,效果很好,更紧凑,并且不依赖于没有相关性的空白单元格。

=MEDIAN(if(A1<>0,A1),if(C1<>0,C1),if(G1<>0,G1),if(X1<>0,X1),if(Z1<>0,Z1))

答案 1 :(得分:0)

您可以使用简单的 AVERAGE 解决此问题:

=AVERAGE(A1, C1, G1, X1, Z1)

不计算空值的地方


您可以执行以下操作以忽略0:

=ARRAYFORMULA(AVERAGE(IF({A1, C1, G1, X1, Z1}>0, {A1, C1, G1, X1, Z1}, )))

,或者如果您想要 MEDIAN

=ARRAYFORMULA(MEDIAN(IF({A1, C1, G1, X1, Z1}>0, {A1, C1, G1, X1, Z1}, )))

0