由於抽中 1-50 的機會不一樣,我們需要兩條公式才能解決問題:(後面是詳解)
(公式一) 在 A1 輸入以下公式
=(INT(RAND()*100)+1)/100
(公式二) 在 B1 輸入以下公式,得出答案
=IF(A1<=20%,INT(RAND()*10)+1,IF(A1<=75%,INT(RAND()*20)+11,INT(RAND()*20)+31))
解題基本邏輯:
1. 首先,按照指定的機會率抽出範圍 1-10 (20%) 或 11-30 (55%) 或 31-50 (25%)。
2. 然後,再從範圍中隨機抽出數字,便是答案。
詳細解釋:
1. 由於抽中 1-50 的機會率不一樣,而 Excel 只能按相同機會率抽出數字,所以我們不能直接用公式得出數字,而需要先將資料轉化成可以計算的,就是利用累計機會率(Cumulative Probability)。
數字 ::::: 機會率 ::::: 累計機會率
1-10 :::::::: 20% :::::::: 20%
11-30 :::::: 55% :::::::: 75% (抽中30或以下的機會率=20%+55%)
31-50 :::::: 25% :::::::: 100% (抽中50或以下的機會率)
2. 當算出累計機會率後,便可以按以下邏輯篩選範圍:
當隨機數字是 1-20%,範圍是 1-10;(這時,Excel 會停止計算下一步)
否則,數字等於或少於75%,範圍是 11-30;
其他,即數字大於75%的,範圍便是 31-50。
利用(公式一),可以得到 1-100% 的隨機數:
(INT(RAND()*100)+1)/100
利用(公式二),用 if 篩選範圍,再用 rand 得出答案:
INT(RAND()*10)+1 是隨機抽出 1-10 的意思
INT(RAND()*20)+11 是隨機抽出 11-30 的意思
INT(RAND()*20)+31 就是隨機抽出 31-50 的意思
測試方法:
你可以把 A1 和 B1 的公式,向下複製至少 2000 格(但不要複製太多,太多會當機),再統計 1-10 / 11-30 / 31-50 的出現率。你會發現大概就是 20%、55%、25%。
如有不明白可 e-mail 給我:
[email protected]