Формула Excel: Суммируйте каждый n-й столбец -

Содержание

Общая формула

=SUMPRODUCT(--(MOD(COLUMN(rng)-COLUMN(rng.first)+1,n)=0),rng)

Резюме

Для суммирования каждого n-го столбца можно использовать формулу, основанную на функциях СУММПРОИЗВ, МОД и СТОЛБЕЦ.

В показанном примере формула L5 имеет следующий вид:

=SUMPRODUCT(--(MOD(COLUMN(B5:J5)-COLUMN(B5)+1,K5)=0),B5:J5)

Объяснение

По сути, SUMPRODUCT используется для суммирования значений в строке, которые были «отфильтрованы» с использованием логики, основанной на MOD. Ключ в следующем:

MOD(COLUMN(B5:J5)-COLUMN(B5)+1,K5)=0

Этот фрагмент формулы использует функцию COLUMN для получения набора «относительных» номеров столбцов для диапазона (подробно объясненного здесь), который выглядит следующим образом:

(1,2,3,4,5,6,7,8,9)

Это входит в МОД так:

MOD((1,2,3,4,5,6,7,8,9),K5)=0

где K5 - значение N в каждой строке. Функция MOD возвращает остаток для каждого номера столбца, деленного на N. Так, например, когда N = 3, MOD вернет что-то вроде этого:

(1,2,0,1,2,0,1,2,0)

Обратите внимание, что нули появляются в столбцах 3, 6, 9 и т. Д. В формуле используется = 0, чтобы получить ИСТИНА, когда остаток равен нулю, и ЛОЖЬ, когда нет, затем мы используем дважды отрицательный (-), чтобы привести ИСТИНА и ЛОЖЬ до единиц и нулей. В результате получается такой массив:

(0,0,1,0,0,1,0,0,1)

Где 1 теперь обозначают «n-е значения». Это входит в SUMPRODUCT как array1 вместе с B5: J5 как array2. Затем СУММПРОИЗВ выполняет свое дело, сначала умножая, а затем суммируя произведения массивов.

Единственные значения, которые «выживают» при умножении, - это те, в которых array1 содержит 1. Таким образом, вы можете думать о логике «фильтрации» значений array2 в array1.

Суммируйте каждый второй столбец

Если вы хотите суммировать все остальные столбцы, просто измените эту формулу по мере необходимости, помня, что формула автоматически присваивает 1 первому столбцу в диапазоне. Чтобы суммировать ЧЕТНЫЕ столбцы, используйте:

=SUMPRODUCT(--(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=0),A1:Z1)

Чтобы суммировать столбцы ODD, используйте:

=SUMPRODUCT(--(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=1),A1:Z1)

Интересные статьи...