如何將已知N個數(shù)值分配至單個固定小于固定數(shù)
- 教育綜合
- 2023-11-11 17:44:48
excel總數(shù)固定隨機區(qū)間數(shù)值分配怎么做?
首先要說的是,Excel的隨機數(shù)函數(shù)rand和randbetween所生產(chǎn)的隨機數(shù)是正態(tài)分布的,也就是所產(chǎn)生的隨機數(shù)的平均值與隨機數(shù)上下限平均值是接近的,數(shù)據(jù)量越大,兩個平均值越接近。
所以你要求36個數(shù),在120~280之間,總和為8640,是很難一次直接通過一個公式得到期望的結果的。因為120與280的平均值是200,而36個數(shù)字總和為8640,其平均值為240,差距很大。
再說隨機函數(shù),在Excel中隨機數(shù)函數(shù)稱為易失性函數(shù),簡言之,就是函數(shù)得到的結果會在一定的條件下,如工作表中有任何的操作、編輯等操作,數(shù)據(jù)都會發(fā)生變化。而生成的隨機數(shù)達到要求后,一般要求固定下來吧。那就得用到Excel的循環(huán)引用——直接或間接引用單元格本身。這里就是在生成的隨機數(shù)滿足要求后,單元格直接引用單元格本身,即已有的數(shù)據(jù),從而保持不變。要循環(huán)引用,就得在Excel的選項中的公式選項卡內,把“啟用迭代計算”打上對勾后確定。
本問題的基礎方法,如圖中的A列,選擇A1:A36,輸入公式:
=IF(ABS(SUM(A$1:A$36)-8640)>0,RANDBETWEEN(120,280),A1)
按同時按Ctrl+Enter2個鍵,一次完成公式輸入(也可以先只輸入A1的公式后下拉)
因為如前面據(jù)說的原因,36個數(shù)的和(A37)并沒有達到預期的結果。如果有耐心,一直按F9,直到A37=8640后,再按F9不發(fā)生變化。但估計很難得到結果。
圖中C列,把隨機數(shù)的下限修改為200,這樣200和280的平均值等于36數(shù)的平均值,輸入完公式立即得到一組結果。
既要得到結果,又希望隨機數(shù)的范圍(上下限)不變,目前想到的辦法只有一個折衷的辦法,36個數(shù)中一小部分范圍為120~280,另一部分把下限加大,如200。這樣把平均值向36個數(shù)的平均值靠近。如圖中的E列,E1:E10取范圍120~280,E11:E36取范圍200~280。只要數(shù)次F9即固定下來了。
Excel給個數(shù)值將已知條件數(shù)值求自動分配個數(shù)等于給定數(shù)值
規(guī)劃求解是做這個事情的,設置2個約束條件,數(shù)量為整數(shù),數(shù)量之和<=5, 目標值為=SUMPRODUCT(A2:A10,B2:B10)-484 ,求最小值。 只是按你圖片中的數(shù)字限制數(shù)量最多5個的話,即使選用最大的數(shù)字50,50*5=250,遠遠不到484呢。excel如何將n個數(shù)隨機排列成m個數(shù)字(n你的隨機排列,可以使用函數(shù):=rand() 返回 0-1的一個隨機數(shù),然后和你的N個數(shù) 運算下,下拉 應該可以實現(xiàn)Excel按固定比例隨機分配數(shù)據(jù)?
如果你對這些10%、6.66%要求不是很嚴格,隨機數(shù)會不斷刷新變化也可接受的話,下面的公式會得到比較滿意的結果,比如結果在B1:B80000中:
B1=CHOOSE(LOOKUP(RANDBETWEEN(1,10),{1,4,8},{1,2,3}),RANDBETWEEN(1,3),RANDBETWEEN(4,9),RANDBETWEEN(10,12))
下拉到B8000。下圖是模擬結果。如果需要完全吻合,且得到的結果固定下來,公式要復雜些。請再追問。
公式思路,前3個數(shù)字和后3個數(shù)字各占30%,中間6個數(shù)字點40%。先在8萬個單元格中生成8萬個1~10的隨機數(shù),按Excel的隨機數(shù)原理(開始回答時,前面有一段稍微說明Excel隨機數(shù)原理的,但百度就是不讓提交,刪除后才提交成功),10個數(shù)字基本上各占8千個。用lookup來區(qū)分,隨機數(shù)小于4,就按choose中的第1個隨機數(shù)公式,4~7,就按第2個隨機數(shù)公式,8~10,就按第3個。從而達到按指定的比例得到隨機數(shù)。
EXCEL中怎么用函數(shù)求N個數(shù)字合計等于固定數(shù)值,并返還選擇對應的單元格
在C3單元格輸入=SUMPRODUCT(B2:B30,D2:D30) 然后在“數(shù)據(jù)”選項下的“規(guī)劃求解”中,以C3單元格為目標單元格,目標值為4216.3,以D2:D30為可變單元格,并添加可變單元格的約束條件為“二進制bin”(非0即1),然后求解,即可得到對應項目上標記1的效果。
Excel按固定比例隨機分配數(shù)據(jù)?
如果你對這些10%、6.66%要求不是很嚴格,隨機數(shù)會不斷刷新變化也可接受的話,下面的公式會得到比較滿意的結果,比如結果在B1:B80000中:
B1=CHOOSE(LOOKUP(RANDBETWEEN(1,10),{1,4,8},{1,2,3}),RANDBETWEEN(1,3),RANDBETWEEN(4,9),RANDBETWEEN(10,12))
下拉到B8000。下圖是模擬結果。如果需要完全吻合,且得到的結果固定下來,公式要復雜些。請再追問。
公式思路,前3個數(shù)字和后3個數(shù)字各占30%,中間6個數(shù)字點40%。先在8萬個單元格中生成8萬個1~10的隨機數(shù),按Excel的隨機數(shù)原理(開始回答時,前面有一段稍微說明Excel隨機數(shù)原理的,但百度就是不讓提交,刪除后才提交成功),10個數(shù)字基本上各占8千個。用lookup來區(qū)分,隨機數(shù)小于4,就按choose中的第1個隨機數(shù)公式,4~7,就按第2個隨機數(shù)公式,8~10,就按第3個。從而達到按指定的比例得到隨機數(shù)。
EXCEL中怎么用函數(shù)求N個數(shù)字合計等于固定數(shù)值,并返還選擇對應的單元格
在C3單元格輸入=SUMPRODUCT(B2:B30,D2:D30) 然后在“數(shù)據(jù)”選項下的“規(guī)劃求解”中,以C3單元格為目標單元格,目標值為4216.3,以D2:D30為可變單元格,并添加可變單元格的約束條件為“二進制bin”(非0即1),然后求解,即可得到對應項目上標記1的效果。下一篇
返回列表