問題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的第一參數,不用輔助區域。
,