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

Excel – 14个人随机抢1000块钱红包,所有人抢完后余额为0

今天这个案例比较有趣,微信抢红包都玩过吧?如果在一个 14 个人的群里发 1000 块钱红包,红包个数为 14,所有人都抢完红包的结果肯定会满足以下两个条件:

1000 块全部抢完,1 分都不会剩

不会出现这种情况:还有人没抢,但是钱不够了

如果把这个熟悉的场景放到 Excel 中实现,需求就是:生成总和固定的随机数。

这个怎么实现呢?

案例:

用 Excel 做一个随机总金额固定的随机抽奖模板,要求:

所有人抽到的金额加总必须始终等于 1000 元整

每个人都抽

每个人的抽奖金额都为整数,即精确到“元”

解决方案:

1. 只要涉及抽奖,总是绕不开 rand 函数,在 D 列增加一个辅助列,D2 中输入如下公式 --> 下拉复制公式至 D15:

=RAND()

2. 在 C2 单元格输入以下公式:

=ROUND(1000*D2/SUM($D$2:$D$15),0)

公式释义:

SUM($D$2:$D$15):14 个随机数的总和

D2/SUM($D$2:$D$15):用当前行的随机数除以 14 个随机数之和;最后的总和为 D2/SUM($D$2:$D$15) + D3/SUM($D$2:$D$15) + ... + D15/SUM($D$2:$D$15) = 1,也就是 100%,从而达到总和固定的目的

1000*D2/SUM($D$2:$D$15):因为 rand 函数的结果小于 1,总金额为 1000 的话,我们就需要把随机结果相应放大 1000 倍

最后再用 round 函数取整数

3. 将 C2 的公式拖动下拉至 C14:

* 请注意:为什么 C15 不用公式呢?因为我们用 round 函数对随机结果做了四舍五入,这样就会导致 14 个人的抽奖总和跟 1000 有一些误差。为了避免误差,最后一个人的结果用 1000 减去其他人的总和。

4. 如上所述,在 C15 单元格输入以下公式:

=1000-SUM(C2:C14)

5. 最后用求和公式验证一下,14 个人的抽奖总数正好等于 1000

6. 现在就可以开始抽奖了:按住 F9 随机数开始跳动,放开 F9 停止,显示抽奖结果。

转发、在看也是爱!

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券