VBA Excel - сортировка ежедневного манифеста доставки по группам на основе сложных правил - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь найти способ сортировки таблицы 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

Теперь, глядя на это в целом, я даже неуверен, что это возможно, и я понятия не имею, как это сделать.Если у кого-то есть вклад, я хотел бы услышать это.Большое спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...