求Excel自动运算公式或代码

[复制链接]
查看11 | 回复7 | 2011-3-18 11:41:29 | 显示全部楼层 |阅读模式
已知一个总数在B1单元格,已知20个小于总数的不同数字在A1:A20单元格,所有数值都保留有两位小数。
求一个函数公式或VBA代码,计算20个数字中哪些相加能等于B1单元格数值?
B2单元格显示能够满足条件的组数个数,C列、D列、E列、...... 依次显示第1组、第2组、第3组、...... 满足条件的数字。每一组数字中,每一个数都不能重复出现。
因为所有数值都是可更换的,无法给出确切数据,实际有时候还会超过20个数。在此仅求公式或代码。谢谢各位高手。
回复

使用道具 举报

千问 | 2011-3-18 11:41:29 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">方法一:
1.按Stcxj所提供的“规划求解”操作,得出第一组数据后,将结果选择性粘贴数值到另一列;
2.再修改原始数据的顺序重新求解,得出第二组数据,同理多循环几次就行了。
方法二:
1.按“规划求解”操作录制一段宏,录制的宏需要稍做更改才能使用;
2.通过编辑脚本,生成另几列同原数据一样但排序不同的数据,修改脚本后可一次生成多组数据。
如对具体操作有疑问可以Hi中详述。
回复

使用道具 举报

千问 | 2011-3-18 11:41:29 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-1033144\">谢谢回答。但在工具栏中没有找到“规划求解”,只有单变量求解,与你所说的不一样。
按你的思路,应该只能求出最多一组满足条件的数据,而在实际应用中应该有好几组不同的数据。
用函数可能真的做不到,或许VBA能实现,但不知代码如何编写。
回复

使用道具 举报

千问 | 2011-3-18 11:41:29 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-1049174\">“规划求解”要专门加载:
菜单栏——工具——加载宏——规划求解(勾选)——确定。
回复

使用道具 举报

千问 | 2011-3-18 11:41:29 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-1924351\">我用的03版,加载宏中没有找到线性规划,是否在07版以上才有,或者用其它方式加载?




<a href=\"http://hiphotos.baidu.com/zhidao/pic/item/0824ab18218be75235fa4191.jpg\" class=\"replyask-img-e\" title=\"点击查看大图\" target=\"_blank\">

<img src=\"http://hiphotos.baidu.com/zhidao/abpic/item/0824ab18218be75235fa4191.jpg\"/>

</a>
回复

使用道具 举报

千问 | 2011-3-18 11:41:29 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-1922802\">客户有时会给出一个莫名其妙的总金额给我们,他们自己也不知道是哪些报价单的合计,但这个数肯定是这一两月中的某几个报价单的合计,一般还不只一种组合,我们需要从这一两个月的统计表中核对出这个总金额实际是由哪几个数来组成的,真是麻烦。
回复

使用道具 举报

千问 | 2011-3-18 11:41:29 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-1925770\">你上面的问题不是为了解决这个问题的吧?但上面的问题和该问题有着根本的不一致。前面的问题组合成千上万,无规可循。这里的组合毕竟是有限的,有规可循的。
回复

使用道具 举报

千问 | 2011-3-18 11:41:29 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-1999154\">上面的问题你应该没有看全,可能只看到了补充。
这串脚本还是一个不错的思路,非常感谢给出的这个方案。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行