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

Выделенное
жирным - соответствует столбцам во вложенном файле.