Excel表格資料按20%、30%、50%的概率隨機分組

小王:老闆給了我一份100人的客戶名單,叫我按照20%、30%、50%的概率分配給公司的三個三組。

方法一

小王百度了一下,找到了一個好公式。

=LOOKUP(RAND(),{0,0.2,0.5},{"一組","二組","三組"})

相信很多人在搜尋按概率生成指定資料時,也會搜到類似的公式。

乍一看,這個公式用於按概率(20%、30%、50%)生成文字“一組、二組、三組”是沒有問題的。

可實際上,只有生成的資料很多時,這個公式才OK。

不信?我們可以看下以下GIF圖。

同樣的公式,當要分配的人數有100人和1500 人時,實際上最後分配的比例和期望的比例是有差距的。資料越少,這個差距可能就越大。

當然,我們還是可以用這個公式的。

輸入公式後,另外再製作一個統計表(就像本例右側黃色的表格)分析實際資料和期望資料的差異。接著不停地按F9鍵,直到表格顯示了我們可接受的差異。

方法二

① 如圖,在“組別”列輸入兩個“1”,三個“2”,和5個“3”,然後選中所有這些數字,雙擊填充,填充選項為“複製單元格”。

之所以輸入兩個“1”,三個“2”,和5個“3”,是因為我們需要的概率是20%、30%、50%。如果是其他的概率,請構造類似的序列。

② 在“輔助”列輸入“=rand()”函式。

③ 在“輔助”列和“組別”列之間插入一個空白列。

④ 選中C1(“輔助”)單元格,接著點選按數值大小升序按鈕(“AZ”)。

這樣資料就嚴格按照比例隨機分配啦。

⑤ 保留“姓名”和“組別”列,刪除多餘的輔助列。

小王:這好像也有問題,構造序列時輸入了10個資料,假如我們的總數不是10的倍數時,實際份額還是會和期望份額有差異的。

說的沒錯。不管你是手動輸入的序列,還是用mod的函式構造的序列,這個問題都無法迴避。所以填充序列後,你需要檢視一下最後的幾個資料,手動微調一下。


本文由解晴新生原創,歡迎關注,帶你一起長知識!