Excel中的装箱

问题描述 投票:3回答:4

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

等深度合并等宽合并

excel worksheet-function
4个回答
2
投票

最佳方法是使用内置方法:

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

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


2
投票

这是我用的。我正在分箱的数据在A2:A2001中。

Equi-width:

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

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

10是箱数。 + 0.00000000001在那里,因为没有它,等于最大值的值将被放入其自己的仓中。

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

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

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

Equi-depth

这比较简单。

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

首先,从要合并的所有像元($A2)中获得当前像元($A$2:$A$2001)的百分数等级。这将是一个介于0和1之间的值,因此要将其转换为垃圾箱,只需乘以所需垃圾箱的总数即可(我用10)。然后,以与以前相同的方式切掉小数。

对于这两种情况,如果您想让bin从1而不是0开始,只需在公式的末尾添加+1


0
投票

您可能必须构建要绘制图形的矩阵。

对于箱形托架,您可以将=PERCENTILE()用于等深,将差额=Max(Data) - Min(Data)的一部分用于等宽。

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

获得

可以使用SUMPRODUCT和/或数组公式(由于不熟悉非程序员很难理解,所以不建议使用更复杂的统计信息)


0
投票

将此公式放入B1:

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

enter image description here

在B列中全部填写公式,您已完成。该公式将范围分为4个相等的存储区,并返回单元格A1所属的存储区编号。第一个存储区包含最低25%的值。

一般模式是:

=MAX( ROUNDUP ( PERCENTRANK ([Range], [TestCell]) * [NumberOfBuckets], 0), 1)
© www.soinside.com 2019 - 2024. All rights reserved.