将上万行的Excel数据平均分配给若干个人,有几种简单的办法?

Excel学习世界 2023-05-05 14:57:59

来自学员提问:有量非常大的一列数据,如何尽量平均且随机地分配给若干个人?

案例:

将下图 1 中 A 列的行数尽量平均分配给 E 列的 5 个人,效果如下图 2 所示。

解决方案 1:

1. 将 E 列的姓名复制到 B 列。

2. 向下拖动复制过来的姓名区域。

上述两步甚至可以合并成一步:复制 E 列的姓名 --> 选中 B 列需要填充的所有空白单元格 --> 粘贴。

解决方案 2:

如果想让姓名的排列更随机,可以用这种方法。

1. 在 C 列输入递增的序列号。

2. 选中 A 列的任意单元格 --> 选择菜单栏的“数据”-->“升序”

3. 将 E 列的姓名复制到 B 列 --> 向下拖动复制姓名区域

4. 选中 C 列的任意单元格 --> 选择菜单栏的“数据”-->“升序”

5. 删除辅助列。

解决方案 3:

1. 在 C2 单元格中输入以下公式 --> 下拉复制公式:

=RAND()

2. 在 D2 的单元格中输入以下公式 --> 下拉复制公式:

=MIN(5,ROUNDUP(RANK(C2,$C$2:$C$28,0)/5,0))

公式释义:

RANK(C2,$C$2:$C$28,0):计算 C2 在区域 $C$2:$C$28 中的降序排名;

ROUNDUP(.../5,0):将上述结果除以 5,并向上取整,保留 0 位小数;目的是将 A 列的单元格尽量随机分成 5 份;

MIN(5,...):

将 5 与上述结果相比较,取出其中较小的那个数;

因为 A 列中的单元格数不是正好是 5 的倍数,超过的部分,取整后会大于 5,那就没法分配姓名了,所以当大于 5 的时候,就设置为 5;

3. 在 B2 单元格中输入以下公式 --> 下拉复制公式:

=INDEX($E$2:$E$6,D2)

公式释义:

提取出区域 $E$2:$E$6 中排名第 D2 位的值

4. 将 B 列复制粘贴为值,删除所有辅助列。

0 阅读:15

Excel学习世界

简介:Excel 学习交流