按列将列分为N个相等的组

时间:2014-08-19 13:02:07

标签: excel

假设我有一个包含值的列:

23
24
25
66
67
84
81
85

我想把它分成N组,比如N现在是4。

23,1
24,1
25,2
66,2
67,3
84,3
81,4
85,4

我实际上需要将大约30k个排序值分成1到99组;每个都有相同数量的元素。

在Excel中快速完成此操作的方法吗?

3 个答案:

答案 0 :(得分:1)

我使用此技巧进行相等的数据存储。假设您的数据在A1:A100范围内。将此公式放在B1中:

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

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

根据您的意愿调整水桶数量:

=MAX(ROUNDUP(PERCENTRANK([Range],[OneCellOfTheRange]) *[NumberOfBuckets],0),1)

每个存储桶中的观察次数将相等或几乎相等。例如,如果您有100个观测值,并且想要将其拆分为3个存储桶,则这些存储桶将包含33、33、34个观测值。因此几乎相等。您不必担心-该公式可以为您解决问题。

答案 1 :(得分:0)

如果这是在A栏

  • 第1行
  • 第2行
  • 第3行
  • 第4行
  • 第5行

将公式置于B栏

=MOD(ROW(); 4)+1

这个结果

  • 第1,2行
  • 第2,3行
  • 第3,4行
  • 第4行,第1行
  • 第2行,第2行

答案 2 :(得分:0)

使用 A A 中的数据输入:

=A1 & "," & ROUNDUP(ROW()/(COUNT(A:A)/4),0)

并复制下来。例如:

demo

更改公式中的 4 以更改组的数量。