有什么公式可以把一些数值加起来,等于或接近我提供的另一些值,但不能大于我提供的值

比如我买了3袋苹果,第一袋是5个,第二袋是10个,第三袋是15个,总数是30个。分给6个人吃,A吃2个,B吃3个,C吃5个,D吃5个,E吃6个,F吃8个,一共吃掉了29颗。每一袋苹果拿去分,被分到的人和苹果就不再计算,比如A和B加起来是5个,C和D也是5个,就可以选一组把第一袋苹果分出去,第一袋苹果和A+B或者C和D,将不再计算。 A+B=5,第一袋 C+D=10,第二袋 E+F=14,第三袋 C=5,第一袋 A+B+D=10,第二袋 E+F=14,第三袋 就类似这样
四川省
浏览 951
收藏
3
分享
3 +1
5
+1
全部评论 5
 
会飞的鱼
会飞的鱼 Lv.2 潜力创作者KVPWPS函数专家

Lv.2潜力创作者

这种需求有涉及动态规划求解,实际工作的数据量至少也有几十上百条,求最优解计算量还是很大的,这种需求建议使用JSA或VBA实现,使用编程实现要比使用函数公式简单很多,如果实际需求不需要最优解,得到一个相对合理的组合即可,以下两种算法相对的简单一些。 第一种 1、将需要N袋苹果随机排序 2、依次对排序后的每袋苹果进行凑数(凑数子过程,数据量小可以递归所有组合后选最优的,数据量大可以随机生成N次组合后选最优) 3、重复以上过程N次,记录每次结果和目标结果的差异,选择一次差异最小的 第二种 1、首先将两组数据完全一样的匹配。 2、将剩余的两组数据降序排序,然后依次凑数分组。
· 辽宁省
1
回复
 
方盛
方盛 Lv.2 潜力创作者WPS寻令官

Lv.2潜力创作者

学习了
· 湖北省
回复
 
懒得批爆
由于不知道所谓的接近是多么的接近(相差十分之一?百分之一?千分之一还是万分之一?百亿分之一?),那么只能想到用RANDBETWEEN函数随机生成了,如果需要小数,那么可以在公式后面加个RAND(),以显得不那么假。
· 四川省
2
回复
 
醉清风
建议模拟好数据,并上传解题,看的更直观一些
· 安徽省
2
回复
勇次
重新开了贴
· 四川省
回复