excel规划求解凑多个接近数(不能重复)
- 教育综合
- 2022-10-31 17:43:09
EXCEL 几个数不重复相加等于或接近指定的数值,并分别列出
这是B2的公式=IF(A2+B1<=2300,A2+B1,A2+$B$1),然后往下拉就可以了
不大于2300,可以小于把,切为三段,黄色标记,这样行不行
在excel中如何实现几个数组合接近一个数
如果数据在A1:A10单元格,那么在B11单元格输入=SUMPRODUCT(A1:A10,B1:B10) 然后在“数据”选项下的“规则求解”中,以B11为目标单元格,目标值为1800,以B1:B10为可变单元格,添加约束条件为B1:B10为二进制,然后求解,B1:B10中为1的即为选中的数据。excel规划求解最接近值
第1种方法,使用VBA的方法:
首先,我们在E1单元格中输入公式:
=SUMPRODUCT(A1:A25*B1:B25),表示A列和B列相乘相加
然后我们按ATL+F11,调出开发编辑器,在里面输入代码
Sub 计算()Do Until [e1] = 66666a = a + 1For i = 1 To 25Cells(i, 2) = Application.RandBetween(0, 1)Next iLoopEnd Sub运行上述的代码,Excel会自动计算,得到一个结果,这个算法是碰运气,所以很有可能很久都得不到结果,这个时候我们可以按ESC键中止程序。
第2种方法,线性规划求解
今天着重想介绍的是这种方法,首先我们需要在设置里面将这个功能调出来,在Excel选项中,选择加载项,点击转到
然后勾选规划求解加载项,如下所示:
然后在数据选项卡的最右边有一个规划求解,我们点击规划求解,把相应的 条件输入,然后Excel会进行一个数据运算,最终得到结果:
其中这是个数学问题,我们设置的公式是:
A1:A25是固定的数值0<=B1:B25<=1B1:B25=整数使得:=SUMPRODUCT(A1:A25*B1:B25)的结果是6666
B1:B25单元格的值就是取0或1,如果取到的是1,就是希望对应A列中需要保留的值