为什么此公式返回前n%的平均值会为某些值返回错误?

时间:2016-05-23 14:07:19

标签: excel-formula

在另一个帖子中,建议使用:

-AVERAGEIF(A2:A10, “>” 中&安培百分位数(A2:A10,0.7))

返回指定范围内最高n%值的平均值。

这似乎在大多数情况下都有效,但不是全部。

例如,如果我从一个包含20个空单元格的列开始并插入75,69,75,56,75,73作为前六个值,

公式返回#DIV / 0! .8的错误,但不是.7。

但是,将前导75更改为74会返回.7或.8。

的非错误结果

我们在一张工作表中使用了大约40个实例,这是唯一一组返回错误的输入。

在正确评估或Excel中存在问题时,这是正确的行为吗?

Igrore - 我无法将问题中的值正确地形成。

1 个答案:

答案 0 :(得分:1)

它失败的原因是你选择的6个数字中的第70个百分位是75.因此,当你查看数据时,没有大于75的数字。所以你最终得到一个空数组。

我不是统计人员,但一个可能的解决方案是改变> to> =在这种情况下,它会抓住所有数字也等于第70百分位数。如果这是不可接受的,你可以用IFFERROR公式包装整个事物:

=IFERROR(YOUR FORMULA,"nothing greater than the X percentile")

所以在你的情况下,它只是一个特殊情况,数组中的所有数字都等于或小于你的截止点。将75改为74会改变第70百分位的结果。