?
Мне нужна помощь в создании формулы Excel, которая может справиться с конкретной задачей, связанной с рецептами. Вот ситуация:
У меня есть список рецептов, и каждый рецепт содержит список ингредиентов. Некоторые из этих ингредиентов сами по себе являются рецептами со своими списками ингредиентов (субингредиентов). Я хочу создать формулу, которая может принимать один ингредиент в качестве входных данных и рекурсивно возвращать полный список всех необходимых ингредиентов, включая любые вложенные ингредиенты.
Например, если у меня есть следующие данные:
Рецепт А: Ингредиент 1, Ингредиент 2, Ингредиент 3
Ингредиент 1: Субингредиент 1.1, Субингредиент 1.2
Ингредиент 2: Субпродукт -ингредиент 2.1, субингредиент 2.2
Субингредиент 1.1: субсубингредиент 1.1.1, субсубингредиент 1.1.2
Если я введу «Рецепт А», я хочу получить список, который включает:
Ингредиент 1
- Субингредиент 1.1
- Субсубингредиент 1.1.1
- Субсубингредиент 1.1.2
- Субингредиент 1.2
- Суб-ингредиент 2.1
- Суб-субингредиент 2.1.1
< /ol> - Субингредиент 2.2
Формула должна продолжать расширять все субингредиенты до тех пор, пока не останется вложенных ингредиентов.
Я был бы признателен за любые рекомендации или примеры того, как чтобы добиться этого в Excel. В идеале я ищу решение, не требующее VBA, но я открыт для всех предложений.
У меня есть Excel 365, и я пытался найти решение с помощью функции BYROW, но она не работает. не складываю массивы.
Заранее спасибо за помощь!
У меня есть Excel 365, и я пытался найти решение с помощью BYROW функция, но она не объединяет массивы.
Я думал о рекурсивной лямбде, но застрял, моя исходная таблица расположена вот так
Название рецепта
Ингредиент 1< /th>
Количество 1
Ингредиент 2
Количество 2
Ингредиент 3
Количество 3
Рецепт A
Ингр 1
2
Ингр 2
3
Ингр 3
1
Ингр. 1
Суб-ингр. 1
4
Суб-ингр. 2
5
Суб-ингр. 3
5
Sub Ingr 1
Sub Sub Ingr 1.1
3
Теперь, Я пытаюсь представить данные другим методом, который может упростить достижение желаемого результата или нет...(см. следующее):
Название рецепта
Ингредиент
Количество
Рецепт A
Ингр 1
2
Рецепт A
Ингр 2
3
Рецепт А
Ингр 3
1
Ингр. 1
Подп. ингр. 1
4
Ингр. 1
Подп. ингр. 2
5
Ингр. 1
Вторичный ингр. 3
5
Подпрограмма 1
Подпрограмма 1.1
3
РЕДАКТИРОВАТЬ: Желаемый результат, если я поиск Рецепта A выглядит примерно так:
Ингредиент
Количество
Ingr 1
2
< td style="text-align: center;">Ingr 2
3
Ингр 3
1
Sub Ingr 1
8
Sub Ingr 2
10
Подпункт 3
10
Sub Sub Ingr 1.1
24
Поскольку ДЛЯ РЕЦЕПТА А требуется 2 количества ингредиента 1, все субингредиенты ингредиента 1 следует умножить соответствующим образом. - Суб-субингредиент 2.1.1
- Дополнительный элемент 1 = 4x2=8
- Дополнительный элемент 2 = 5x2=10
- Sub Sub Ingr 3 = 5x2=10
- Sub Sub Ingr 1.1 = 3x8=24 ( Ingr1 содержит 3 Sub Ingr Sub Ingr 1.1 , поскольку количество Sub Ingr 1 теперь равно 8. Sub Sub Ingredient 1.1 = базовое значение x количество ингредиента 1 = 3x8=24 )
Подробнее здесь: https://stackoverflow.com/questions/786 ... nd-sub-ing