财务凑数在百度或者Bing搜索一下, 规划求解来凑, 一堆教程。 一般思路是用Binary(二进制),然后Sumproduct, 让目标值值等于某个数,然后运行一段时间,对应C列显示的数为1,就OK。(H2输入公式:=SUMPRODUCT(B2:B41,C2:C41) ,整个凑数界面就这样。
![e76a3a155928bbd8b65b00cebc7debe4.png](https://i-blog.csdnimg.cn/blog_migrate/29ff87f477e715fcce3648a63301acaf.jpeg)
我们今天讲个有意思的,因为有以下这样的要求:
1、目标值 可任意录入
2、B列值 且能在 30行到 80 行之间 (B列值个数 能变动)
3、要求所选的数值和 尽量接近目标值,可以大一些,可以小一些。也就是绝对值最小,最好是0.
现在问题是, 怎么求绝对值最少呢? 如果在EXCEL里面用ABS()函数,再求最小。那么这个模型就不是线性模型,而是非线性了。
这个非线性模型转线性,套路永远是:加变量!!!加变量!!!加变量!!!
引入两个变量, 一个是u,一个是v。 它们干些什么事情呢?
举例:假如目标是2000,那么
令: u - v = 2000 - 实际值