按随机顺序将数据分配给组,遵守Excel中的约束

时间:2018-04-13 23:55:14

标签: excel

我有大约一千行数据,我想分配给遵循一些规则的随机组。我已经尝试了很多方法但没有成功,我没有在网上找到任何答案,所以我希望你能提供帮助。

基本上,我有这样的数据行:

Key   Description   Weight    Group
1     Orange        0.987
2     Apple         0.876
3     Melon         0.765
4     Peach         0.654
5     Mango         0.432
6     Banana        0.321
7     Kiwi          0.219

依此类推,总是从最高到最低的重量排序...... 现在,我想分成遵循两组规则的组:每组中确切的键数量和权重的近似总和。所以,假设这个例子有两组必须遵守规则:

Group     # of keys    Sum of weight
1         4            2.8
2         3            1.6

因此,示例输出将是:

Key   Description   Weight    Group
1     Orange        0.987     1
2     Apple         0.876     2
3     Melon         0.765     1
4     Peach         0.654     2
5     Mango         0.432     1
6     Banana        0.321     1
7     Kiwi          0.219     2

所以这里第1组有4个果实,最终体重为2.51,第2组有3个果实,体重为1.75。

这里的目标是将组中的键数与预期的完全匹配,并且权重的总和与预期的相似(可能具有高达10%的盈余)。加上,这些组不应该遵循任何明显的顺序(例如,最常用于组1的顶部键),而是尽可能随机。

我已尝试使用公式,到目前为止,我已经想出了匹配每个组的键数的方法,但权重与预期的非常不同。我希望它用公式解决,但如果需要VBA则没问题。

  

Tl; dr:我正在寻找将组分配到一组行以确保这一点   每个组的行数受用户输入的限制,并且   每个组的列总和与给定的相似   每个组的“目标”(由用户定义)。最好没有VBA。

0 个答案:

没有答案
相关问题