5

我们可以使用 MS Excel 中的哪些公式 -

等深分箱
等宽分箱

4

4 回答 4

4

这是我用的。我正在分箱的数据位于A2:A2001.

等宽:

我使用以下公式计算了单独单元格 ( U2) 中的宽度:

=(MAX($A$2:$A$2001) - MIN($A$2:$A$2001) + 0.00000001)/10

10是箱的数量。之所以+ 0.00000000001存在,是因为没有它,等于最大值的值会被放入自己的 bin 中。

然后,对于实际的分箱,我使用了这个:

=ROUNDDOWN(($A2-MIN($A$2:$A$2001))/$U$2, 0)

此函数通过将(值 - 最小值)除以 bin 宽度来查找您的值高于最小值的 bin 宽度。我们只关心有多少完整的 bin-width 适合该值,而不是小数,因此我们使用ROUNDDOWN截断所有小数 bin-width(即显示0小数位)。

等深

这个比较简单。

=ROUNDDOWN(PERCENTRANK($A$2:$A$2001, $A2)*10, 0)

$A2首先,从所有被分箱的单元格 ( )中获取当前单元格 ( ) 的百分位排名$A$2:$A$2001。这将是一个介于 0 和 1 之间的值,因此要将其转换为 bin,只需乘以您想要的 bin 总数(我使用10)。然后,像以前一样切掉小数。

对于其中任何一个,如果您希望您的 bin 从 1 而不是 0 开始,只需+1在公式的末尾添加 a。

于 2014-04-06T11:35:47.647 回答
2

最好的方法是使用内置方法:

http://support.microsoft.com/kb/214269

我认为插件的 VBA 版本(大多数版本的第 3 步)也会为您提供代码。

于 2013-03-11T21:41:23.080 回答
2

将此公式放入B1:

=MAX( ROUNDUP( PERCENTRANK($A$1:$A$8, A1) *4, 0),1)

在此处输入图像描述

填写整个B列的公式,你就完成了。该公式将范围划分为 4 个相等的桶,并返回单元格 A1 所属的桶号。第一个存储桶包含最低 25% 的值。

一般模式是:

=MAX( ROUNDUP ( PERCENTRANK ([Range], [TestCell]) * [NumberOfBuckets], 0), 1)
于 2020-01-29T11:00:17.333 回答
0

您可能必须构建矩阵来绘制图表。

对于 bin 支架,您可以使用=PERCENTILE()等深和=Max(Data) - Min(Data)等宽差异的比例。

您可以使用 获得频率=COUNTIF()。可以使用 bin 的平均值获得=SUMPRODUCT((Data>LOWER_BRACKET)*(Data<UPPER_BRACKET)*Data)/frequency

使用 SUMPRODUCT 和/或数组公式可以得到更复杂的统计数据(我不建议这样做,因为非程序员很难理解)

于 2010-09-08T11:59:56.160 回答