在EXCEL中如何从一列数据中找出某些数的和等于一个数字
推荐于2017-09-21 · 知道合伙人软件行家
知道合伙人软件行家
向TA提问 私信TA
可以用规划求解,以下图中的A1:A20数据为例。
假设要在A1:A20中找出某些数的和等于200,操作步骤如下:
步骤1:在C1单元格输入公式
=SUMPRODUCT(A1:A20,B1:B20)
如下图
步骤2:选定C1单元格,数据>>>规划求解,“设置目标”会自动设置为C1单元格,到:选择“目标值”,并在右侧文本框中输入固定的数字200,鼠标放在”通过更改可变单元格“框中,并选择B1:B20,Excel将自动输入单元格地址,再单击“遵守约束”右侧的“添加”按钮,如下图:
步骤3:在”单元格引用“用鼠标选择B1:B20单元格,中间的下拉框中选择”bin“,右侧框中将自动显示”十进制“,再单击”确定“按钮,如下图
步骤4:通过上步操作后,”遵守约束“列表框中就增加了一个约束”$B$1:$B$20 = 二进制“,单击”求解“按钮,如下图
步骤5:单击”确定“按钮,结果如下图所示,B列结果为1的表示对应A列的数字相加的和为C1的值200。
知识扩展:
1、如果数据菜单没有”规划求解“命令,开发工具>>>加载项,勾选”规划求解加载项“,再单击”确定“按钮,如下图:
2、如果连”开发工具“菜单都没有,操作如下 :
文件>>>Excel选项>>>自定义功能区>>>勾选”开发工具“,再单击”确定“按钮,如下图。
如A列是你的数,加辅助列B为系数,辅助列C为A*B,如C1=A1*B1;
然后对C列求和,比如在D1。
然后用规划求解,目标格为D1,值为你所想要的和;
可变格为B列,对B列添加3个约束,>=0, <=1,int(也就是B列系数值限定为0或1)
然后求解就行了。
如果有多个解,这个办法只找到一个,但B列的初始数不一样的话可能找到的是不同的组合。
参考资料: http://zhidao.baidu.com/question/57413950.html?si=10&wtp=wk