VBA Excel-根据复杂的规则将每日交货清单分类

时间:2019-05-24 21:29:37

标签: excel vba

我正在尝试提出一种对Excel表进行排序的方法。当它只是随机排序时,我编写了一个非常基本的VBA来执行此操作。现在,我必须满足复杂的参数/规则,而这超出了我的技能范围。

问题:我每天都会收到一份文件,其中列出了通过货件发送的物品清单,如下例所示。该列表最多可以包含1个项目,最多可以包含24个项目。我必须按餐厅分类。

Example Original List

ITEM    SHIPMENT

Oranges 1
Apples  1
Grapes  1
Pears   2
Pork    3
Chicken 4
Rice    5
Peas    5
Beans   5
Water   5
Corn    5
Milk    5
Eggs    5
Salmon  6
Tofu    7
Juice   8
Cheese  8
Salt    8
Pepper  9
Onions  10
Oats    11
Barley  11
Kale    11
Chips   12

需要将这些物品分类到6家餐厅,并且规则复杂:

总体规则

  • 任何一家餐馆中的任何一件物品都不能超过1件
  • 没有餐厅可以容纳4件以上

排序规则

  1. 餐厅1始终获得前两个项目(项目1-2)
  2. 餐厅2-5均匀地获得接下来的16个项目(项目3-18)
  3. 餐厅6获得接下来的2个物品(项目19-20)
  4. 餐厅1和6然后平均获得最后4个项目(项目21-24)
  5. 如果一个批次中有6个以上的物品(比餐馆多的物品),多余的物品将留在仓库中。
  6. 总体规则将覆盖排序规则。例如,在我们的示例列表中,餐厅1不能同时拥有橙子和苹果,因为它们来自同一批货物,因此排序会发生变化。
Example Sort

Restaurant 1    Shipment
Oranges         1
Pears           2
Rice            5
Kale            11

Restaurant 2    
Apples          1
Peas            5
Salmon          6
Salt            8

Restaurant 3    
Grapes          1
Beans           5
Tofu            7
Pepper          9

Restaurant 4
Pork            3
Water           5
Juice           8
Onions          10

Restaurant 5
Chicken         4
Corn            5
Cheese          8
Oats            11

Restaurant 6
Milk            5
Barley          11
Chips           12

Warehouse Items
Eggs            5

现在从整体上看,我什至不确定这是可能的,而且我也不知道如何去做。如果有人有任何意见,我希望能听到。非常感谢您的帮助。

0 个答案:

没有答案