首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!

点击上方蓝字?--> 点击“...”--> 选择“设为星标

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

案例:

将下图 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 列复制粘贴为值,删除所有辅助列。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230512A08G3M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com