嗨玩手游网

Excel中的线性规划,某些数据相加接近于一个固定值!

有一个做财务工作的小伙伴问我,它收到10几张,然后他希望其中几张金额凑成一个数字,但他表示,凑了一上午的金额还没有凑出来,有没有什么好的解决办法,在Excel里面这个问题轻而易举的就可以完成。

我们使用模拟案例来进行求解,如下所示:A列中有25个数字,如何找出来,哪些数字相加等于66666呢?

第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列中需要保留的值

对于这个技巧,你学会了么?自己动手试试吧~

往期精彩:

2个Excel表格核对,条件格式快速找出相同和不同的部分!

Excel技巧:30秒将二维表格转换成一维表!

Excel设置合同时间到期自动提醒,还可以用来生日提醒!

给你25个数字,某些数字相加等于66666,用Excel快速找出来!

有一个做财务工作的小伙伴问我,它收到10几张,然后他希望其中几张金额凑成一个数字,但他表示,凑了一上午的金额还没有凑出来,有没有什么好的解决办法,在Excel里面这个问题轻而易举的就可以完成。

我们使用模拟案例来进行求解,如下所示:A列中有25个数字,如何找出来,哪些数字相加等于66666呢?

第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列中需要保留的值

对于这个技巧,你学会了么?自己动手试试吧~

往期精彩:

2个Excel表格核对,条件格式快速找出相同和不同的部分!

Excel技巧:30秒将二维表格转换成一维表!

Excel设置合同时间到期自动提醒,还可以用来生日提醒!

更多资讯
游戏推荐
更多+