excel規(guī)劃求解湊多個(gè)接近數(shù)(不能重復(fù))
- 教育綜合
- 2022-10-31 17:43:09
EXCEL 幾個(gè)數(shù)不重復(fù)相加等于或接近指定的數(shù)值,并分別列出
這是B2的公式=IF(A2+B1<=2300,A2+B1,A2+$B$1),然后往下拉就可以了
不大于2300,可以小于把,切為三段,黃色標(biāo)記,這樣行不行
在excel中如何實(shí)現(xiàn)幾個(gè)數(shù)組合接近一個(gè)數(shù)
如果數(shù)據(jù)在A1:A10單元格,那么在B11單元格輸入=SUMPRODUCT(A1:A10,B1:B10) 然后在“數(shù)據(jù)”選項(xiàng)下的“規(guī)則求解”中,以B11為目標(biāo)單元格,目標(biāo)值為1800,以B1:B10為可變單元格,添加約束條件為B1:B10為二進(jìn)制,然后求解,B1:B10中為1的即為選中的數(shù)據(jù)。excel規(guī)劃求解最接近值
第1種方法,使用VBA的方法:
首先,我們?cè)贓1單元格中輸入公式:
=SUMPRODUCT(A1:A25*B1:B25),表示A列和B列相乘相加
然后我們按ATL+F11,調(diào)出開發(fā)編輯器,在里面輸入代碼
Sub 計(jì)算()Do Until [e1] = 66666a = a + 1For i = 1 To 25Cells(i, 2) = Application.RandBetween(0, 1)Next iLoopEnd Sub運(yùn)行上述的代碼,Excel會(huì)自動(dòng)計(jì)算,得到一個(gè)結(jié)果,這個(gè)算法是碰運(yùn)氣,所以很有可能很久都得不到結(jié)果,這個(gè)時(shí)候我們可以按ESC鍵中止程序。
第2種方法,線性規(guī)劃求解
今天著重想介紹的是這種方法,首先我們需要在設(shè)置里面將這個(gè)功能調(diào)出來,在Excel選項(xiàng)中,選擇加載項(xiàng),點(diǎn)擊轉(zhuǎn)到
然后勾選規(guī)劃求解加載項(xiàng),如下所示:
然后在數(shù)據(jù)選項(xiàng)卡的最右邊有一個(gè)規(guī)劃求解,我們點(diǎn)擊規(guī)劃求解,把相應(yīng)的 條件輸入,然后Excel會(huì)進(jìn)行一個(gè)數(shù)據(jù)運(yùn)算,最終得到結(jié)果:
其中這是個(gè)數(shù)學(xué)問題,我們?cè)O(shè)置的公式是:
A1:A25是固定的數(shù)值0<=B1:B25<=1B1:B25=整數(shù)使得:=SUMPRODUCT(A1:A25*B1:B25)的結(jié)果是6666
B1:B25單元格的值就是取0或1,如果取到的是1,就是希望對(duì)應(yīng)A列中需要保留的值