A. excel將一個數隨機分配各組,需要能夠方便批量大量處理相關數據
你要的公式:
=MMULT(IFERROR(SMALL(RANDBETWEEN(-ROW(1:12),13),ROW(1:12)-{1,0}),{0,11}),{-2;2})+INT(C4/13)-1
數組公式,同時按下Ctrl+Shift+Enter結束輸入。
按下F9刷新數據。
B. Excel表如何進行隨機分組
隨機分布那就使用隨機函數RAND,構造兩個輔助列來幫助生成隨機數,我的示例是在PQ兩列構造,你根據你的情況在空白列做就行。
輔助列1(生成隨機數):=RAND()^2
輔助列2(隨機數排名):=RANK(P2,P:P)
輔助列構建好了,那麼剩下就簡單了,就是把一維數組變成二維數組而已。直接在C2使用公式:
=INDEX($A:$A,OFFSET($Q$1,MOD(ROW(),4)+1+(COLUMN()-3)*4,)+1)
向下、向右填充C2:O5即可。
因為隨機數做了平方,基本不可能出現重復,如果不幸中彩,按F9就可重新更新隨機名單即可。
C. excel總數固定隨機區間數值分配怎麼做
首先要說的是,Excel的隨機數函數rand和randbetween所生產的隨機數是正態分布的,也就是所產生的隨機數的平均值與隨機數上下限平均值是接近的,數據量越大,兩個平均值越接近。
所以你要求36個數,在120~280之間,總和為8640,是很難一次直接通過一個公式得到期望的結果的。因為120與280的平均值是200,而36個數字總和為8640,其平均值為240,差距很大。
再說隨機函數,在Excel中隨機數函數稱為易失性函數,簡言之,就是函數得到的結果會在一定的條件下,如工作表中有任何的操作、編輯等操作,數據都會發生變化。而生成的隨機數達到要求後,一般要求固定下來吧。那就得用到Excel的循環引用——直接或間接引用單元格本身。這里就是在生成的隨機數滿足要求後,單元格直接引用單元格本身,即已有的數據,從而保持不變。要循環引用,就得在Excel的選項中的公式選項卡內,把「啟用迭代計算」打上對勾後確定。
本問題的基礎方法,如圖中的A列,選擇A1:A36,輸入公式:
=IF(ABS(SUM(A$1:A$36)-8640)>0,RANDBETWEEN(120,280),A1)
按同時按Ctrl+Enter2個鍵,一次完成公式輸入(也可以先只輸入A1的公式後下拉)
因為如前面據說的原因,36個數的和(A37)並沒有達到預期的結果。如果有耐心,一直按F9,直到A37=8640後,再按F9不發生變化。但估計很難得到結果。
圖中C列,把隨機數的下限修改為200,這樣200和280的平均值等於36數的平均值,輸入完公式立即得到一組結果。
既要得到結果,又希望隨機數的范圍(上下限)不變,目前想到的辦法只有一個折衷的辦法,36個數中一小部分范圍為120~280,另一部分把下限加大,如200。這樣把平均值向36個數的平均值靠近。如圖中的E列,E1:E10取范圍120~280,E11:E36取范圍200~280。只要數次F9即固定下來了。