Добрый день!
Имеется 2 массива: Спецификация (с разбивкой на сам товар и его комплектующие для производства товара) и Производство (производство товара за периоды). В 3-м массиве нужно посчитать количество использованных комплектующих за период. Длина каждого из массивов может достигать до 10 тысяч строк. Расчет выполнен с использованием функции СУММЕСЛИМН в 3 шага - более подробно во вложении.
Основная проблема в том, что функция СУММЕСЛИМН не умеет отрабатывать условие ИЛИ(1;2), поэтому приходится дублировать функцию СУММЕСЛИМН для условия 2 и так далее., что сказывается на скорости расчета, так как входные и выходные массивы состоят/участвуют в других расчетах (пересчет формул до 2-3 секунд 4-х ядерном процессоре 2010г., на Xeon E5-2660 расчет выполняет за 0,2 секунды, но и массивы далее будут увеличиваться в размерах). Возможно есть способ оптимизации расчёта либо применив формулу массива (что возможно не даст выигрыша в скорости), либо же используя другую логику?
Имеется 2 массива: Спецификация (с разбивкой на сам товар и его комплектующие для производства товара) и Производство (производство товара за периоды). В 3-м массиве нужно посчитать количество использованных комплектующих за период. Длина каждого из массивов может достигать до 10 тысяч строк. Расчет выполнен с использованием функции СУММЕСЛИМН в 3 шага - более подробно во вложении.
Основная проблема в том, что функция СУММЕСЛИМН не умеет отрабатывать условие ИЛИ(1;2), поэтому приходится дублировать функцию СУММЕСЛИМН для условия 2 и так далее., что сказывается на скорости расчета, так как входные и выходные массивы состоят/участвуют в других расчетах (пересчет формул до 2-3 секунд 4-х ядерном процессоре 2010г., на Xeon E5-2660 расчет выполняет за 0,2 секунды, но и массивы далее будут увеличиваться в размерах). Возможно есть способ оптимизации расчёта либо применив формулу массива (что возможно не даст выигрыша в скорости), либо же используя другую логику?