本文不是教育你去买彩票,仅仅是思考彩票的逻辑,然后提高下自己的思维方式。 彩票是一张体彩的“超级大乐透”,百度了一下,规则很简单: 5+2,前五个数据是1-32中随机获得5个不重复的数,后两位1-12随机取两个值。就不去解释各个奖励的值了,今天就是简单的阐述一下怎么自己做一个抽奖函数,按照这个超级大乐透的模式去做。 这里需要思考几个点,这就是前几天我看了本书书上说的一句话: 什么是Excel?
我个人对Excel的理解就是下面的这句话: Excel就是数据和数据之间建立一个联系,进行数据处理,最后显示一个数据结果;结果也是另一个数据的参数,进一步分析处理,这就是Excel语言的嵌套。 言归正传,今天思考学习这个抽奖函数的制作,下面就是今天主要要写的5个步骤: 第一步:思考抽奖函数中的随机性 第二步:初步建立抽奖函数的逻辑性 第三步:尝试去写写这个抽检函数 第四步:通过尝试去慢慢优化函数 第五步:效果展示及思考 下面来跟着我的脚步,慢慢来看一张彩票引发的思考~ 第一步:思考抽奖函数中的随机性抽奖,抽到是什么?就是大数据小概率事件,我们不去思考怎么能抽到奖,我只来说怎么在Excel里面的这个怎么能够实现抽奖函数的效果。 以前五个数据中的第一个数据为例:随机在1-32中间抽取一个数值 这个要用的到函数就是RANDBETWEEN函数,这个函数很简单rand函数(随机生成数据)+between(在什么和什么之间),就是在某个范围内随机生成一个数据,那么根据题意就是在1-32中间获取一个值。 在1-32中间随机获取一个值
函数解析:在1-32中间随机获取一个值 第二步:初步建立抽奖函数的逻辑性这个逻辑性的建立,就是思考怎么能体现彩票规则,也就是所谓客户需求: 1.前五个随机生成1-32的数值,后两位随机生成1-12的数值 2.前五个和后两位不能重复 3.由小到大排序 4.前五个数据和后两位数据没有关联性 那么里面就需要去思考这个每个条款的对应的函数的对应: 随机值可以用randbetween函数;前五个和后五个函数无关联性,那么取值就分开取值区间;从小到大排序,那就用small函数;这里面的不能重复,需要进一步思考怎么体现。 这里想到一句话:
做事情一定要思考,思考大局观,思考逻辑性,思考各种可能和各种方案,那么你就可以比别人更能接触一些东西,学到更多的知识。 第三步:尝试去写写这个抽奖函数目前前五个值和后两位的值已经可以定下来了:
那么怎么能大小排序的函数嵌套进去呢?加载一个SMALL函数-区域/第几顺位
函数解析:在D3:H3的区域内,获取第一、第二..的小的值,就简单的对现有数据进行了排序 加上我们是横向拉取,需要对所选区域进行$锁定。经常会有人问,怎么能知道快速的写入这个$限制范围的符号,记住技巧: $放在谁前面,那么拉取的时候就锁什么 第四步:通过尝试去慢慢优化函数这里基本上就实现了我们初步的想法,但是发现还是有个小问题,就是这个所有的值都是随机获取的,那么在这么小的1-32的范围内,肯定会随机到一个重复值,怎么能进一步去除重复值呢?这个技巧就需要我们进一步思考: 这里我们加入一个函数RAND函数,这个函数本身就是为了获取0-1的中的任意一个数,没有限制,没有位数限制,基本上算是一个无限不重复的数据。把这个数据和现有的数据进行整合然后提取?是不是有想法了? A:先随机获取一个数据1-35进行对应排列 B:然后进行一个对应值获取/排序处理
函数解析: 第一行=通过B1的值在B中的排序进行对应获取前面A列的值 第二行=对获取的值进行排序 这段函数有点深,但是要简单的理解和思考,就会发现很简单。rank函数获取某值在某区域的顺位(可以从小到大,也可以从大到小),然后INDEX获取对应值,最后从小到大排序结束。 第五步:效果展示及思考效果展示,确实重复值消失了,这就是原汁原味的“超级大乐透”,想想好像可以自己猜彩票了感觉还挺好,但是初步的思考下这个获奖的概率,我的天三十忆分之一。 32*31*30*29*28*12*11= 31'8979'5840 想想还是算了~ 停下步伐,思考~今天的逻辑课学到了啥? 结尾今天有个朋友问我,你写对这些文章难不难?她能学吗? 我想回答说: 我本身就希望我写的文章令大众小白都能接受和学习的方式。知识是什么?知识是乏味的数据和文字信息,而我就是把想这些信息通过我的表达,图片,方式去教给你,寓教于乐。我喜欢这样的教学方式,通过简单的例子,通过我们可以简单学习的方式和图片,让你更加容易的接受知识,然后学习知识。我也在慢慢摸索大家学习的方式和技巧,也在看些书,学习写文章,思考换不同的方式来教一些知识。希望能够满足大家的求知欲。 |
|