公式可為
=CHOOSE(MATCH(RAND(),{0,0.9}),INT(RAND()*9),9+INT(RAND()*4))
下拉。
這個公式是按照
0到8的數字在這1列中出現的機率是90%,9-12出現的機率是10%,該列資料中不得出現大於12的數字
這句話來做的。
其標題
用EXCEL想隨機生成1列資料,超出某範圍的資料出現的機率為5%,
與上面的意思有衝突,無法同時設定進去。
求取隨機值,一般可以考慮用RAND函式,任意單元格中輸入=RAND() 可以得到一個0-1之間的隨機值,它可能等於0,不會等於1,修改它可以得到想要範圍的隨機數值,比如把它乘以9,再去除小數部分,可以得到0-8之間的值,INT(RAND()*9) 或變形為9+INT(RAND()*4) 可以得到9-12之間的隨機值。MATCH(RAND(),{0,0.9}) 的意思是查詢RAND在{0,0.9}這個陣列中的位置,如果RAND小於0.9,MATCH函式返回1,如果大於等於0.9返回2,因為RAND在0-1之間隨機,所以MATCH為1的可以性為90%,為2的可能性為10%,CHOOSE利用MATCH來返回指定段數的函式,如果MATCH為1,CHOOSE返回第三段即INT(RAND()*9)部分,如果為2,返回第四段即9+INT(RAND()*4)部分。
參照附件
公式可為
=CHOOSE(MATCH(RAND(),{0,0.9}),INT(RAND()*9),9+INT(RAND()*4))
下拉。
這個公式是按照
0到8的數字在這1列中出現的機率是90%,9-12出現的機率是10%,該列資料中不得出現大於12的數字
這句話來做的。
其標題
用EXCEL想隨機生成1列資料,超出某範圍的資料出現的機率為5%,
與上面的意思有衝突,無法同時設定進去。
求取隨機值,一般可以考慮用RAND函式,任意單元格中輸入=RAND() 可以得到一個0-1之間的隨機值,它可能等於0,不會等於1,修改它可以得到想要範圍的隨機數值,比如把它乘以9,再去除小數部分,可以得到0-8之間的值,INT(RAND()*9) 或變形為9+INT(RAND()*4) 可以得到9-12之間的隨機值。MATCH(RAND(),{0,0.9}) 的意思是查詢RAND在{0,0.9}這個陣列中的位置,如果RAND小於0.9,MATCH函式返回1,如果大於等於0.9返回2,因為RAND在0-1之間隨機,所以MATCH為1的可以性為90%,為2的可能性為10%,CHOOSE利用MATCH來返回指定段數的函式,如果MATCH為1,CHOOSE返回第三段即INT(RAND()*9)部分,如果為2,返回第四段即9+INT(RAND()*4)部分。
參照附件