Страницы: 1
RSS
Поиск по нескольким значениям и выдача результата списком., Необходимо найти или отсортировать табличные данные для получения списка.
 
Здравствуйте уважаемые форумчане.
Ищу решение следующей задачи. Постараюсь полно и понятно объяснить на жизненном примере.

Есть продукт -БОРЩ-
Для приготовления борща требуется:
Говядина, капуста, картофель, морковь, лук .
Есть кастрюли разного литража, 5 литров, 10 литров, 15 литров, соответственно сырья нужно разное количество.

Еще есть -ЩИ-
Для приготовления требуется:
Баранина, капуста, картофель, морковь, лук, томатная паста
Есть кастрюли разного литража, 5 литров, 10 литров, 15 литров.

Еще есть -КУРИНЫЙ СУП-, -СОЛЯНКА- и т.д.
С теми же условиями.

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

Предположим, сегодня мне нужно сварить борща 10 литров, щей 15 литров и еще куриного супа 10 литров.
Для этого всего мне нужно приобрести:
Говядина 500 гр
Баранина 600 гр
Капуста 400 гр
и т.д.

В голове никак не сложится, как это сделать.
Пробовал из умной таблицы в сводную с привязкой срезов...очень громоздко получается (много наименований и объемов)
Может быть через ИНДЕКС и ПОИСКПОЗ?
Но какая структура должна быть, не понимаю.

Помогите пожалуйста, направьте на правильный путь.
 
столько реализаций вашей задачи имеется, можно на ютубе посмотреть как это делается
приложите то, что пробовали
 
То, что пробовал, осталось на работе. На домашнем ПК пробовалки ниочемные ))
 
Андрей Киселев, здесь формулами всегда будет очень громоздко, нужно реализовывать через VBA и пользовательские объекты
 
Понял, спасибо за ответ.
К сожалению с VBA не умею работать, думал обойдется =)

Попробую может чего наковырять. Все еще открыт для предложения идей.
Прикрепляю файл с табличкой из описанного примера
 
Андрей Киселев,  как вариант UDF, с умной таблицей этот вариант не работает, но если её использовать в аргументе как диапазон то ОК
 
можно просто сводной, но лучше добавить немного данных для простоты и считать через модель, тогда меньше формул . Типа такого.
 
Цитата
Андрей Киселев написал:
из умной таблицы в сводную с привязкой срезов
- да нормально должно получиться - выбрал блюдо, выбрал тару - получил сводную. Но делать лень. и вероятно как источник удобнее была бы прямая таблица. Впрочем для UDF тоже удобнее было бы работать с прямой таблицей.
P.S. Добавил в файл две версии UDF
Изменено: Hugo - 06.07.2026 15:16:08
 
Через сводную таблицу с привязкой срезов получается, только есть неудобство.
Блюд много и срез получается очень большим, даже если в три колонки его делать, смотришь в него, как в таблицу, аж глаза разъезжаются.
Да и монитор на работе маленький, не умещается все ( понимаю, что это не тот вопрос из-за которого...ну вы поняли0
 
А разве вес ингридиентов не пропорционален объему? у вас получается выгоднее готовить в 5 литровых, на 15 литров нужно всего 300 грамм говядины для борща, а если в 15 литровой, то уже 500 грамм, а выход продукта одинаковый
 
Ну вероятно это случайные числа для примера...
Кстати результат UDF можно выводить массивом по строке, когда динамические массивы это вообще очень удобно.
 
Цитата
Hugo написал:
случайные числа для примера...
, если пропорциональны, то таблицу можно уменьшить, и считать проще
 
Hugo,  вот такого вида представлял.
Но для уменьшения количества кнопок в срезе с рецептами, наверное стоит перенести объем сваренного  в отдельный срез.  
 
Цифры взяты с потолка. Ингредиенты совсем другие.  
 
Цитата
Цифры взяты с потолка
Андрей Киселев, Вы этим только народ сбили  с толку
А так ведется табличка с рецептурой из расчета на литр (например)
далее все сравнительно просто посчитать тем же СУММПРОИЗВ
см файл
 
Хорошо, постараюсь внести ясности.

Работаю на производстве, супы не варим, но варим продукцию в многотонные емкости (их 4 вида - 6 тонн, 9 тонн,  10 тонн, 14 тонн)
Рецептур порядка тридцати. Они расчитаны не от одного литра, а на каждый представленный объем.


Мне каждый день нужно заказывать сырье на следующий день исходя из плана, что и в каком объеме нужно сварить.
Предположим на
"Продукцию №1" 14-тонник
"Продукцию №2"  10-тонник
"Продукцию №3" 9-тонник
Хотелось бы получить список примерно следующего вида:
Сырье № 1 - 4500
Сырье № 2 - 500
Сырье № 3 - 300
и т.д.

эти цифры в килограммах, но это не важно


В первом моем сообщении я представил задачу в бытовом виде "ЩИ" БОРЩИ" в кастрюли. Но она точно повторяет мою ситуацию.
 
Цитата
Андрей Киселев написал:
Хотелось бы получить список примерно следующего вида:Сырье № 1 - 4500Сырье № 2 - 500Сырье № 3 - 300и т.д.
- если в моей UDF разделителем поставить перенос строки - то так и будет выглядеть в ячейке

Изменено: Hugo - 06.07.2026 16:52:39
 
Цитата
написал:
если в моей UDF разделителем поставить перенос строки - то так и будет выглядеть в ячейке
Спасибо. Есть в этом что-то, попробую развить дальше.

UPD: Сейчас понял, что это по сути получились рецептуры, а они у меня и так есть.
Нужно получить общее количество сырья ( говядины, картофеля и тд) на все три варки .
Изменено: Андрей Киселев - 06.07.2026 17:15:32
 
Ну так это ведь срезы в сводной и давали. зачем что-то другое?
 
Цитата
написал:
Ну так это ведь срезы в сводной и давали. зачем что-то другое?
Ну в общем-то да. Остается парочка но.
1. Если нужно сварить два борща по 10 литров и два куриных по 5 литров, то в срезах их не выбрать по два раза.
2. Срез со всеми рецептурами  на все объемы получится очень большим ( порядка 30 рецептур на 4 объема)
 
Андрей Киселев,  UDF не сложно доработать под эти хотелки - добавил количество, вместо срезов можно поставить выпадающие списки.
P.S. Забыл про общее количество... Да его она и не считала никогда...
P.P.S. Хотя можно написать чтоб как аргумент брала три диапазона что/объём/количество и из общего списка собирала суммы, но это уже будет не модификация давно написанной UDF, а полностью новый код. И вывод можно делать массивом например в два столбца. Или две строки.
Изменено: Hugo - 06.07.2026 18:50:26
 
Добавил ещё одну UDF на словаре (не для Маков!) - выводит все суммы составляющих.
 
Спасибо за уделенное время.
Потыкал...это то, что нужно.
Теперь пойду разбираться, как это работает, чтоб сделать это с настоящими данными (если осилю=).
 
Андрей Киселев,  убрал из файла лишнее, доработал чтобы не требовалось ставить количество 1.
И чуть дописал/поправил комментарии в коде.
 
Цитата
Андрей Киселев написал #20:
Если нужно сварить два борща по 10 литров и два куриных по 5 литров
А если тупо сделать ещё табличку с указанием количества_кастрюль_с_борщём, etc... на Сегодня ?
А потом (у меня в файле) нажать на кнопочку "Всего сегодня" для фильтрации.
 
Цитата
написал:
Остается парочка но.
странно, видимо мой пример вы не смотрели - изначально там все и заложил указанное :)
 
Цитата
написал:
странно, видимо мой пример вы не смотрели
Смотрел.
Видимо не всё понял, уж простите. Но я обязательно разберусь=)
Сейчас собрал все предоставленные варианты, и буду из них собирать в тот вид, который мне подойдет.
Всем спасибо за участие, терпение и проделанную работу.
Вопрос считаю для себя закрытым.
Изменено: Андрей Киселев - 08.07.2026 10:54:01
Страницы: 1
Читают тему
Наверх