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