文章导读:祝各种小伙伴周末愉快,今天周日,我们用Excel来娱乐一下,模拟一下发红包的算法,100元发10个红包,然后金额分布情况,模拟1万次,看手气最佳分布的位置。 这个算法在工作中的应用场景就是,固定的一个数据,然……各位看官请向下阅读:
祝各种小伙伴周末愉快,今天周日,我们用Excel来娱乐一下,模拟一下发红包的算法,100元发10个红包,然后金额分布情况,模拟1万次,看手气最佳分布的位置。
这个算法在工作中的应用场景就是,固定的一个数据,然后生成N个随机数,这N个随机的总和等于这个固定的数据。
❶首先我们建立辅助项,输入的公式是:=($C$1-SUM($C$2:C2))/($A$1-A2)*2-0.01
C3至C11的公式为:=RANDBETWEEN(1,B3*100)/100
C12的公式为:=C1-SUM(C3:C11)
这个公式看起来复杂,其实是来源一个算法思路。
首先B列给定了红包的分布区间最大值,C列的红包是在这个区间内产生随机数。
B列红包区间的定义思路是:
在第1个红包的时候,每个人平均可以拿到100/10=10元,所以第1个红包的金额范围在0.01-19.9元内随机,到第2个红包的时候,后面的人平均可以拿到(100-第1个已领取的4.4)/9,然后第2个红包的金额范围在0.01-2倍平均值之间,以此推下去,最后一个的金额用总金额减掉前面所有的金额,保证了最后一个人的金额至少为0.01
根据这个思路,才产生的上述的公式,再去理解的话,就能够理解了。
❷然后我们计算手气最佳出现在第几个
使用公式计算出现的位置:
=MATCH(MAX(C3:C12),C3:C12,0)
❸然后我们模拟10000次,记录这10000次手机最佳出现的位置,这个工作用VBA来完成,我们按ATL F11,插入一个模块,然后输入代码,运行
Sub 模拟()For i = 1 To 10000Cells(i, "h") = [f1]Next iEnd Sub
运行这段代码,得到了1万个手气最佳的数据
最后我们用数据透视表也好,用countifs计数也好,我们做了3次1万次的计数分析。
从数据的分布情况看,第1个或最后抢红包的人出现手气最佳的概率是大一点,所以大家抢红包的时候都慢点抢吧。。。
---------------
作者:小H
以上内容由优质教程资源合作伙伴 “鲸鱼办公” 整理编辑,如果对您有帮助欢迎转发分享!
你可能对这些文章感兴趣:- Excel表格为工作表的部分区域设置保护密码同时隐藏单元格内容。(excel表格为啥输入数字又变成其它啦)
- Excel表格入库表自动录入入库时间(excel表格制作教程入门)
- Excel表格快速批量隐藏/显示不连续的工作表(excel表格快速排序)
- Excel表格利用切片器快速筛选数据/实时更新柱状图(excel表格利息计算公式)
- Excel表格在筛选状态下实时更新序号(excel表格在电脑上怎么下载)
- Excel表格不复制隐藏数据(excel表格不能自动求和)
- Excel表格快速汇总多个工作表的数据到同一个工作表(excel表格快速查找)
- Excel表格三种方法实现多条件查找(excel表格三位数变成两位数)
- Excel表格制作可以自动更新的删除重复项(excel表格制作教程入门视频免费)
- Excel表格利用Vlookup、Match、Countif函数实现一对多查找(excel表格利息计算公式)
本文地址:https://logohe.com/494765.html ,如需转载请文章来源:办公资源网
声明:本站所有文章均为网络资源收集于及用户投稿,只做学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。如若本站内容侵犯了原著者的合法权益,请联系站长484405847@qq.com删除,我们将及时处理!