Excel四分位数函数不起作用

Mos*_*ses 7 microsoft-excel

我试图弄清楚如何让 Excel 的统计函数对我有用,但是当我使用偶数数据集时,它们会抛出看似随机的数字。

例如,让我们使用这个数据集: {4,6,8,12,14,16}

在此示例中,正确的值为:

  • 中位数:10
  • 第一季度:6
  • 问题 3:14

但是,当您使用 excel 时,您会使用median()和获得以下结果quartile.exc()

  • 中位数:10
  • 第一季度:5.5
  • Q3:14.5

我是在错误地处理这个问题,还是 Excel 根本没有能力处理偶数四分位数?

Exc*_*lll 5

简而言之,Excel 将四分位数计算为百分位数。这与我们通常认为四分位数(作为数据上半部分/下半部分的中位数)的方式有很大不同。以下是 Excel 如何执行其操作的快速说明,以您的数据为例。我不能 100% 确定这就是 Excel 使用的确切算法,但这会给出相同的结果。

  1. Excel 为数组中的每个值分配 PERCENTILES。
    P(4) = 0; P(6)=0.20;P(8)=0.40;...; P(16)=1

  2. 然后 Excel 检查请求的百分位在数组中的位置。 对于 Q1,0.25 介于 6 和 8 之间。

  3. 然后,Excel 根据百分位数在这些值之间进行线性插值。
    0.25 百分位数比 0.20 百分位数高 0.05 百分位数。
    0.05/(P(8)-P(6)) = 0.05/0.20 = 1/4
    因此,第 25 个百分位数是 6 和 8 之间的 1/4。因此,6.5 是返回值。(我意识到您输入了 5.5,但我在 Excel 中检查了您的数据,6.5 是返回的四分位数。同样,第三季度返回的是 13.5,而不是 14.5。)

这当然是一种奇怪的计算四分位数的方法。

现在,为了按照您想要的方式找到四分位数,我有两个建议。

  1. 尝试统计包加载项。 我没有在这台计算机上安装它,但值得一试,看看它返回的四分位值是否与工作表函数返回的值不同。

  2. 您可以使用破解在一起的替代公式。它很混乱,但我认为它捕获了您正在寻找的内容。

对于 Q1,您可以使用:

=IF(ISEVEN(ROUNDDOWN(COUNT(A1:A8)/2,0)),AVERAGE(SMALL(A1:A8,ROUNDDOWN(COUNT(A1:A8)/2,0)/2),SMALL(A1:A8,ROUNDDOWN(COUNT(A1:A8)/2,0)/2+1)),SMALL(A1:A8,ROUNDUP(ROUNDDOWN(COUNT(A1:A8)/2,0)/2,0)))
Run Code Online (Sandbox Code Playgroud)

对于第三季度,您可以使用:

=IF(ISEVEN(ROUNDDOWN(COUNT(A1:A8)/2,0)),AVERAGE(LARGE(A1:A8,ROUNDDOWN(COUNT(A1:A8)/2,0)/2),LARGE(A1:A8,ROUNDDOWN(COUNT(A1:A8)/2,0)/2+1)),LARGE(A1:A8,ROUNDUP(ROUNDDOWN(COUNT(A1:A8)/2,0)/2,0)))
Run Code Online (Sandbox Code Playgroud)