具有条件的中位数绝对偏差计算

时间:2015-10-10 22:17:54

标签: excel

我已将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))))  

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

如何将ISNUMBER条件纳入公式?

1 个答案:

答案 0 :(得分:1)

我建议像这样使用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 输入

作为数组公式输入

与您的公式一样,它与整个数据集的中位数存在绝对差异,我认为这是你想要的。

请注意' *'是一种将AND条件放入数组公式中的方法。它具有将其两侧的两个逻辑条件从true / false强制转换为1/0的效果,然后将它们相乘,以便如果其中任何一个为假,则得到零结果,并且IF语句中的测试失败。