回覆列表
  • 1 # 使用者3560319763434

    其實很簡單的,就是一個小技巧而已。

    4個數字用randbetween函式取10-16的隨機,第5個數用72減去前4個數的和就行了。

    如果前四個數都是十,最後一個數就是三十二了,超出了範圍。

    有知友提出了極端的情況,如果要確保所有隨機的資料都符合要求,且不使用字典,就需要增加很多的判斷,按我的能力上vba可能方便點。

    如果非要用函式解決,我只能想到一個辦法,那就是做個包含所有組合的字典(一共有7個數,如果只取整數,利用ms query獲得排列組合,可以得到所有組合數量一共是16787個可能,剔除掉不符合要求的資料,剩下的有470個),然後使用randbetween函式隨機在字典裡提取組合就行了。

    模擬資料

    開啟ms query

    設定相關引數

    選中excel文件

    新增資料表

    輸入查詢命令:select * from [Sheet1$a1:a8],[Sheet1$b1:b8],[Sheet1$c1:c8],[Sheet1$d1:d8],[Sheet1$e1:e8]

    單擊確定

    就會生成所有組合了

    接下來就是將結果輸出到Excel

    在Excel中對所有組合進行篩選後,可以直接使用公式進行隨機抽取了。

    公式(我是把資料放在了M-S列中)

    最終效果

  • 中秋節和大豐收的關聯?
  • 欠款6億不還卻瘋狂套現,沃森生物董事長8億財產被查封,你怎麼看?