У меня есть следующая формула SUMIF: =SUMIF($B$2:$B$5758,">1",N$2:N$5758)
Можно ли сделать так, чтобы при копировании этой формулы формула =SUMIF($C$2:$C$5758,">1",N2:N5758)
и так далее?
У меня есть следующая формула SUMIF: =SUMIF($B$2:$B$5758,">1",N$2:N$5758)
Можно ли сделать так, чтобы при копировании этой формулы формула =SUMIF($C$2:$C$5758,">1",N2:N5758)
и так далее?
Вы можете попробовать что-то вроде этого. Он корректирует значение столбца в зависимости от положения строки, но вы можете адаптировать его к исходной позиции в A2
=SUMIF(INDIRECT(ADDRESS(2,ROW()+1)&":"&ADDRESS(5758,ROW()+1)),">1",$N$2:$N$5758)
Если столбец N нуждается в корректировке также для суммы, сделайте то же самое с A3
=SUMIF(INDIRECT(ADDRESS(2,ROW()+1)&":"&ADDRESS(5758,ROW()+1)),">1",INDIRECT(ADDRESS(2,ROW()+12)&":"&ADDRESS(5758,ROW()+12)))
Функция INDEX
делает это легко. Предположим, что вы не хотите ссылаться ни на какие столбцы, расположенные дальше, чем столбец Z
(отрегулируйте, как требуется), и что начальная ячейка для первой формулы - A2
(отрегулируйте, как требуется), затем вы можете использовать эту формулу в A2
скопирован
=SUMIF(INDEX($B$2:$Z$5758,0,ROWS(A$2:A2)),">1",N$2:N$5758)
INDEX
с нулем в качестве ссылки на строку возвращает весь столбец, конкретный столбец определяется функцией ROWS
которая увеличивается на 1 для каждой строки при копировании, поэтому каждый раз перемещается на один столбец вправо.
INDEX
обычно предпочтительнее любого решения, использующего OFFSET
или INDIRECT
потому что эти две функции являются изменчивыми - это означает, что формула пересчитывает каждый раз, когда что-либо в рабочей таблице пересчитывается