用条件计算绝对偏差中值

我已经将Excel中的中值绝对偏差编码为:

=MEDIAN(IF(ISNUMBER(c10:c14345),ABS(c10:c14345-MEDIAN(c10:c14345)))) 

此公式适用于一系列数字(在本例中为c10:c14345)。

我想使用IF语句来计算观察子集上的公式,以指定条件(在我的例子中,数据来自于D列)。 我的公式是:

 =MEDIAN(IF(DATA!$D$10:$D$14345=$A308,ABS(DATA!C$10:C$14345-MEDIAN(DATA!C$10:C$14345)))) 

如果所有单元格都包含数字数据,那么效果很好。 但是,在某些情况下,缺less值,公式会给出错误#Value!

如何将ISNUMBER条件纳入公式?

我会build议像这样使用ISNUMBER:

 =MEDIAN(IF((Data!$D$10:$D$14345=$A308)*ISNUMBER(Data!C$10:C$14345),ABS(Data!C$10:C$14345-MEDIAN(Data!C$10:C$14345)))) 

以确保它排除空白和文本值。

必须使用Ctrl Shift Enter作为数组公式input

就像你的公式一样,它和整个数据集的中位数绝对不一样,我假设你是想要的。

请注意,“*”是将AND条件放入数组公式中的一种方法。 它的作用是将两个逻辑条件中的任何一个从真/假强制为1/0,然后将它们相乘,这样如果其中任何一个为假,则得到零结果,并且IF语句中的testing失败。