在EXCEL中怎么用函数表达出这样一个公式

“将三个数分别拆为(3、3.5、4、4.5、5、5.5)的整数倍,使用供选数字最少”
例20,8.5,7三个数分别拆为5*4,5*1+3.5*1,3.5*2。其中5,3.5是在(3、3.5、4、4.5、5、5.5)中选取的。也有第二种方案就是分别拆为4*5,4*1+4.5*1,4*1+3*1,其中4,4.5,3为供选数字,但它不符合“使用供选数字最少”的要求
描述的有点乱,求解
所需拆分数一定能被“供选数字的组合方案”整除,不必虑小数
VBA要编程答案,最好格式准确(好复制),能说明一下更好,

最少的就是以5.5做最多的那个最少。
个数很容易出来的。

比如A1单元格是要分割的数字:

最少的个数就是向上取整。
=ceiling(A1,5.5)/5.5

那么先看看最小的数3--5.5中间的所有数显然一个数字就够了。6,就开始需要两个3*2,6.5一样两个3+3.5直到11,大于11的都需要3个肯定的。16.5以下都只要3个完成。

所有可以肯定只要简单的求最少个数
=ceiling(A1,5.5)/5.5
即可实现。当然,小于3的数不能写进去A1里边。

如果要把所有的组合情况写出来,真的只要VBA等编程才能实现,那我就无能为力了。

希望能解决你的疑问O∩_∩O~追问

这只能满足部分条件,无法得到最终答案。谢谢回答,

追答

你说的满足全部条件是指大于3吗?用if函数即可。

追问

要的是方案,不单是得到“供选数字”个数。如有三个数12,7.5,7.5,要得到以下方案
4*3,4*1+3.5*1,4*1+3.5*1

追答

那只能编程了,恕我爱莫能助。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-15
EXCEL 里有插件, 最佳方案求解
但很难用于你这个
第2个回答  2012-08-19
用excel的规划求解或许可以帮到你,具体的使用方法建议你查一下运筹学相关的资料本回答被提问者采纳
相似回答