问题1:将总金额随机拆分为多个
工作中有时候我们需要对一个总数进行随机拆分,接下来我们学习如何用RAND函数来实现这个需求。
首先添加辅助列,在D4:D20输入=RAND(),这个函数没有参数,直接输入函数名加上括号即可,这个函数可以生成一个0-1之间的随机数,包括0,不包括1,然后在D1输入=SUM,(D2:D20),计算那些随机数的总和。
然后在C4,输入=D4/$D$1*$C$1,计算C4旁边的随机数在总和里面的比例,然后用这个比例乘以目标值C1单元格,然后公式下拉即可。
思路:随机生成一组数,每个数除以这组数的总和,得到的比例加起来一定是100%,然后用每一个比例去分那个目标值。
问题2:随机提取不重复
曾经遇到过一个问题,需要从一些菜中为一周的每一天选择两荤两素的菜,要求不能重复。
在A列做辅助列,输入=RAND()生成随机数,然后在B列对A列的随机数进行排名,这样就随机把荤菜进行了排名,然后再用VLOOKUP去为周一到周五匹配荤菜,只要周一到周五所用的随机数不重复,匹配到的荤菜就不可能重复。
周一的第一个荤菜,用1去匹配排名第一的荤菜,这里一直匹配的是排名第1的菜品,但是排名使用随机数随机排的,所以就做到了随机选择菜品的需求,如果对随机结果不满意,可以按下F9刷新随机结果。
思路:对菜品进行随机排名,然后分别给每天去匹配排名1-10的菜品,RAND函数生成随机数,基本不会重复,出现重复的概率比彩票中奖还难,可以当做不重复来对待。
在这里可以思考下,如何用ROW和COLUMN函数去生成G9:K12区域的数字序列,直接用这两个函数去构建VLOOKUP的第一参数,不用辅助区域。