使用“存储桶”数据而不是数据列表本身计算Excel中的百分位数

时间:2010-04-22 14:59:54

标签: excel percentile

我在Excel中有一堆数据需要从中获取某些百分位信息。问题是,不是让数据集由每个值组成,而是提供有关数据或“桶”数据的信息。

例如,假设我的实际数据集如下所示:1,1,2,2,2,2,3,3,4,4,4

我拥有的数据集是:

Value    No. of occurrences
  1              2
  2              4
  3              2
  4              3

我是否可以通过简单的方法计算百分位数信息(以及中位数),而不得不将摘要数据分解为完整数据集? (一旦我这样做,我知道我可以使用Percentile(A1:A5,p)函数)

这很重要,因为我的数据集非常大。如果我将数据分解出来,我会有成千上万的行,而我必须为几百个数据做这些 集。

帮助!

1 个答案:

答案 0 :(得分:0)

您的示例中的中位数非常简单,因为您显示的是总数No. of occurrences的奇数。通过观察,中位数为2.相对于最后2(序列中的第六个值),有五个值小于或等于[1,1,2,2,2],五个值大于或等于[3, 3,4,4,4]。

这可以使用公式计算,例如=(1+SUM(No._of_occurrences))/2,其中No._of_occurences是包含您的出现次数[2,4,2,3]数组的命名范围。

具有偶数个数据点的数据集没有中位数,因此添加一个数据点(比如4)的任何结果都是可疑的。在这种情况下,公式将返回6.5,其中一半表示无效结果(有两个中间值)。虽然如果采用相当传统的方法对这两个值求平均值,那么公式结果可以解释为第六个[2]和第七个[3]值的平均值 - 即2.5。

您的分箱出现次数的单个值乘以100并除以出现次数[11]将得出每个分箱对总数的贡献百分比。这些累计总数给出了每个箱的上限的百分位数。比如说第30个百分位数较低,这就出现在第二个bin中,因此在这种情况下是2.较低的20和50个百分位数(中位数)在同一个bin中,所以对于他们来说答案也是2.

这是有效的,因为您为每个数据点值选择了一个bin。如果更常见的是这些范围(比如1-5,6-10等)那么较低的20和50百分位可能仍然在同一个箱子中但不一定具有相同的值。但是,要确定该值,只需要对该bin的内容进行进一步检查以确定准确值,而不是整个数据集。

SO2691928 example