В файле схематично приложен пример. Суть вопроса следующая: Использую сум + суммеслимн, чтобы посчитать сумму по каким-то критериям. На текущий момент эти критерии забиты в формуле, можно ли каким-то образом переделать формулу, чтобы не нужно была забивать значения в саму формулу, а чтобы оно ссылалось на какую-то ячейку, где эти параметры уже забиты? То есть если смотреть на пример, то вместо данных в фигурных скобках была бы ссылка на ячейку E3.
Этот вариант я понимал, но он не подходит из-за структуры таблицы и отличающихся количеств критериев для разных строк. Меня интересовала возможность реализовать именно так, как я спрашивал в тексте и примере
Казалось бы что SUMIFS должен был быть по скорости быстрее но =SUMPRODUCT(SUMIFS($F$6:$F$9,$E$6:$E$9,TRIM(MID(SUBSTITUTE(E$3,", ",REPT(" ",99)),ROW($1:$15)*99-98,99)))) 484.375 =SUMPRODUCT(ISNUMBER(SEARCH(", "&E6:E9&",",", "&E3&","))*F6:F9) 402.3438
По правде говоря, SUMIFS мне чисто по ощущениям никогда не казался быстрым на относительно больших таблицах от 1000 строк и выше. Завтра вроде релиз 2021-го офиса, интересно было бы проверить там. Ну и напоследок еще вариант:
с десятками и сотнями тысяч SUMIF, COUNTIf.... справлябтся без особенных тормозов. но аот если десятки тысяч раз гонять их по сотням тысяч трок, то да, это тормоза.
ну тоже для коллекции замер =SUMPRODUCT(SUMIFS($F$6:$F$9,$E$6:$E$9,FILTERXML("<j>"&SUBSTITUTE($E$3,", ","")&"</j>","//i"))) 1882.813 =SUMPRODUCT(SUMIFS($F$6:$F$9,$E$6:$E$9,TRIM(MID(SUBSTITUTE(E$3,", ",REPT(" ",99)),ROW($1:$15)*99-98,99)))) 515.625 =SUMPRODUCT(ISNUMBER(SEARCH(", "&E6:E9&",",", "&E3&","))*F6:F9) 421.875