Планетяне, жертвы реформ здравоохренения просят помощи... Ситуация: В лабораторию могут приходить разные наборы для выполнения тестов. Каждому тесту (КодТеста) соответствует некоторое количество кат№ наборов с разной суммой штук тестов (∑тестов) в наборе. Наборы внутри упаковки поделены на самодостаточные "кванты". Каждый квант характеризуется, помимо числа Тестов/квант, ещё и сроком стабильности. Если за этот срок квант не израсходован - остаток выкидывается и вскрывается новый. См. "из справочника". При вскрытии нового всегда тратится некоторое число тестов на калибровку - ТестовКалПериод, + непрерывно идёт расход на контроль качества - ТестовQCПериод,и неизбежный % повторных исследований - ТестовПовторПериод. См "расчёт по потоку". В итоге должно вычисляться количество упаковок, потребных на выполнение всех тестов (и "полезных", и "обязательных расходов") в заданный период для каждого кат№.
Очень хочется, пока даже наплевав на привязку к приборам, линейкам и прочим нашим плохо алгоритмизуемым лабораторным премудростям, сделать полуавтоматику для выбора оптимальных наборов:
Остаток тестов ОстатокТестовПоток сверх расчётного ∑ТестПериод должен быть минимальным. Как посчитано: ∑ТестПериод - сумма заданного ТестовРасчПериод, "довеска" неизбежных повторов ТестовПовторПериод (% Повторы*ТестовРасчПериод)и суммы обязательных расходов ТестовQCПериод + ТестовКалПериод, считаемых отдельно и для простоты введенных числами. Полученное число потребных тестов делится на число тестов в "кванте" (Тест/квант), полученные "кванты" приводятся к упаковкам через их число в упаковке (Квантов), на всех этапах округление до целого вверх.
Число упаковок УпакПериодПоток для исполнения необходимых ∑ТестПериод тестов должно быть минимальным;
Необходима проверка на то, что кванты расходуются быстрее, чем "тухнут" по истечению срока стабильности. Тухнущие должны исключаться из оценки по п.п. 1 и 2;
Если ни один из Кат№ не удовлетворяет условию 3 - выбирается кат№ с минимальным остатком (= потери "в мусор");
Если условиям 1-3 удовлетворяет больше 1 Кат№ (тогда критерий по остатку нестрогий, с задаваемым допуском в %%), то предусмотреть выбор по приоритету - можно "утилизировать" для этого столбцы между КодТеста и кат№. Приоритет будет задаваться простым числом от 1 до "дофига".
Вроде, сделал (если криво - буду рад помощи), начитавшись Планеты:
Собственно счёт тесты -> кванты -> упаковки - ничего сложного, ВПР из пополняемого справочника по Кат№№, составу, числу тестов и срокам стабильности (адское зло на ~10 тыс строк, вручную из инструкций к наборам), + с листа с данными про тесты, потоки и период; Как посчитано: ∑ТестПериод - сумма заданного ТестовРасчПериод, "довеска" неизбежных повторов ТестовПовторПериод (% Повторы*ТестовРасчПериод) и суммы обязательных расходов ТестовQCПериод + ТестовКалПериод, считаемых отдельно и для простоты введенных числами. Полученное число потребных тестов делится на число тестов в "кванте" (Тест/квант), полученные "кванты" приводятся к упаковкам (УпакПериодПоток)через их число в упаковке (Квантов), на всех этапах округление до целого вверх.
Выбор Кат№ (Кат№МинОстаток) и посчитанных количеств упаковок (УпакМинОстаток)по минимальному остатку тестов - МинОстТест -> МинОстТестВыбр, через именованные диапазоны тестов (статические, динамику из "Приёмов" не стал городить, и так для меня предел сложности);
Оценку по стабильности - тупо (УпакПериодПоток) > минимально-необходимого кол-ва упаковок по стабильности на период (МинУпСтабПериод), с визуальным дублированием в столбец Оценка.
Как прикрутить остальные "хотелки" к малому сделанному - голова уже не соображает. Многопараметровые выборы из форума через СУММЕСЛИМН, ВПР и ИНДЕКС по сцепленным столбцам просмотрел, но не смог адаптировать критерии совпадения текстовых значений к моим численным с критериями больше/меньше Выделенное жирным - соответствует столбцам во вложенном файле.