Excel怎么查找总和为某个值的组合

网友投稿 941 2022-07-20

手机如何做表格:点击查看

今天给大家分享一下如何使用函数寻找总和为某个值的组合。

我举个例子。

如下图所示,A~B列是数据源,A列是发票号,B列是发票金额。现在需要寻找总和为F1单元格指定值,比如20,089的发票组合。

关于这个问题,很久以前给大家分享过规划求解的方法;今天再给大家分享一下函数的方法。

C2单元格输入以下公式,并复制到C2:C21区域。

=IF(SUM(C:C)=F,C2,B2*RANDBETWEEN(0,1))

公式输入后系统会提示循环引用,这是由于公式引用了公式所在单元格的值,不过别管他,谁稀罕爱她。

依次点击Excel左上角的「文件」→「选项」命令,打开文件选项对话框,切换到「公式」选项卡,选中「启动迭代计算」复选框,将「最多迭代次数」设置为30000。「确定」后关闭对话框。

此时C列公式会自动重算,重算结果非0的项即为发票组合。可以在F2单元格输入一个SUM函数公式进行验证。

给大家解释一下公式的意思。

=IF(SUM(C:C)=F,C2,B2*RANDBETWEEN(0,1))

公式首先判断C2:C21区域的总和是否等于F1单元格指定的目标值,如果相等,则返回C2自身的值,否则,返回B2单元格发票金额乘以0或1。当乘以0时,结果返回0,表示该发票金额未被选中,当乘以1时,返回发票金额自身,表示被选中。

由于公式引用了公式所在单元格的值,比如C2单元格的公式SUM(C:C),也就会触发循环引用。此时我们启用迭代计算,系统会反复计算该公式,直至停止迭代的条件成立(C2:C21的总和等于目标值),或迭代次数用尽。

就这么回事。

Excel怎么查找总和为某个值的组合

最后留个练习题。

如上图所示,已知总和25,由10个数值构成,每个数值大于等于1,且小于等于5,请列出这10个数值的任一组合。

参-:

A3:A12输入公式

=IF(SUM(A$3:A$12)=B$1,A3,RANDBETWEEN(1,5))

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:520教你用excel表白,让她(他)秒懂你的心!(用excel做有趣的告白)
下一篇:实用Excel技巧分享:怎么进行带单位的数据求和?
相关文章