我试图弄清楚如何让 Excel 的统计函数对我有用,但是当我使用偶数数据集时,它们会抛出看似随机的数字。
例如,让我们使用这个数据集: {4,6,8,12,14,16}
在此示例中,正确的值为:
但是,当您使用 excel 时,您会使用median()和获得以下结果quartile.exc():
我是在错误地处理这个问题,还是 Excel 根本没有能力处理偶数四分位数?
简而言之,Excel 将四分位数计算为百分位数。这与我们通常认为四分位数(作为数据上半部分/下半部分的中位数)的方式有很大不同。以下是 Excel 如何执行其操作的快速说明,以您的数据为例。我不能 100% 确定这就是 Excel 使用的确切算法,但这会给出相同的结果。
Excel 为数组中的每个值分配 PERCENTILES。
P(4) = 0; P(6)=0.20;P(8)=0.40;...; P(16)=1
然后 Excel 检查请求的百分位在数组中的位置。 对于 Q1,0.25 介于 6 和 8 之间。
然后,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。)
这当然是一种奇怪的计算四分位数的方法。
现在,为了按照您想要的方式找到四分位数,我有两个建议。
尝试统计包加载项。 我没有在这台计算机上安装它,但值得一试,看看它返回的四分位值是否与工作表函数返回的值不同。
您可以使用破解在一起的替代公式。它很混乱,但我认为它捕获了您正在寻找的内容。
对于 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)
| 归档时间: |
|
| 查看次数: |
32596 次 |
| 最近记录: |