![Создание повторяющейся таблицы ВПР для сырья](https://rvso.com/image/1555372/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D1%8F%D1%8E%D1%89%D0%B5%D0%B9%D1%81%D1%8F%20%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B%20%D0%92%D0%9F%D0%A0%20%D0%B4%D0%BB%D1%8F%20%D1%81%D1%8B%D1%80%D1%8C%D1%8F.png)
Я хочу добиться следующего.
Пользователь выбирает нужный элемент в A1 (выпадающее меню), называемое ITEM1.
На втором листе находятся таблицы со следующими свойствами, такими как
ITEMS MATERIALS AMOUNT
ITEM1 material1 3
ITEM1 material2 5
ITEM2 material3 1
ITEM3 material4 12
Это означает, что для оформления заказа с ITEM1 пользователю необходимо 3xmaterial1 и 5xmaterial2.
Однако, ниже по списку, для создания некоторых материалов требуется дополнительное сырье. Например
ITEMS MATERIALS AMOUNT
material1 submaterial1-1 4
submaterial1-1 submaterial1-1-1 2
Но не все материалы имеют субматериалы.
Я хочу отобразить только общее количество сырья.
Итак, когда пользователь выбираетПУНКТ1они должны получить на одном листе общее количество необходимого им сырья:
субматериал1-1-1х 24
Материал2х 5
Я могу написать простую функцию VLOOKUP, если у элемента нет никаких вспомогательных материалов, но я просто не могу заставить ее пройти весь путь до самого конечного сырья, а это единственная информация, которую нужно видеть моим пользователям.
Примечание: Написание таблиц не высечено на камне. Я могу, если нужно, скорректировать их любым способом.
Редактировать: Уточнение ниже по запросу. Пользователь хочет заказать «Апельсиновый сок с Бакарди». Сырьем для «Апельсинового сока с Бакарди» являются 2 апельсина и 1 бакарди. Предположим, что мы также производим бакарди. В этом случае нам гипотетически понадобится 3 единицы алкоголя и 2 единицы сахара.
Итак, состав сырья для «Апельсинового сока с Бакарди» следующий: 2x апельсина, 3x спирт, 2x сахар.
Я хочу, чтобы таблица ВПР дала мне именно это. Я использую 2 ВПР, один для материала и один для количества предметов.
=VLOOKUP($A$1,Materials!$B$2:$D$4, 2, FALSE)
и
=VLOOKUP($A$1,Materials!$B$2:$D$4, 3, FALSE)
Но я не могу пойти "на уровень ниже". В настоящее время я бы получил только
Oranges 2
Bacardi 1
но я хочу
Oranges 2
Alcohol 3
Sugar 2
решение1
Поскольку требуется отобразить сырье на самом низком уровне, один из способов сделать это с использованием только VLOOKUP — создать таблицу, которая будет иметь строку для каждого сырья, фиксированные столбцы для ITEM, RAW_MATERIAL и его частей. Исходные материалы сырья будут находиться в той же строке. Такую таблицу будет сложнее поддерживать, но цель будет достигнута.
Добавляем 3 примера такой таблицы: