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

我有一堆Excel中的数据,我需要从中获取特定的百分比信息。 问题是,而不是由每个值组成的数据集,而是有数据或“桶”数据的信息。

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

我拥有的数据集是这样的:

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

有没有一种简单的方法来计算百分比信息(以及中位数), 而不必将摘要数据爆炸到完整的数据集? (一旦我这样做,我知道我可以使用百分位数(A1:A5,p)函数)

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

帮帮我!

您的示例中的中位数很容易,因为您显示的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个百分点,这就出现在第二个分箱中,因此在这种情况下是2.第20个百分点和第50个百分点(中位数)在同一个分箱中,所以对于他们来说,答案也是2。

这是有效的,因为您select每个数据点值一个箱。 如果这些情况比较平常,范围(比如1-5,6-10等),那么20和50的百分位数可能仍然在同一个单位,但不一定有相同的数值。 但是,要确定该值,只有该箱的内容需要进一步检查以确定确切的值,而不是整个数据集。

SO2691928的例子