Excel-ova formula: seštej vsak n-ti stolpec -

Kazalo

Splošna formula

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

Povzetek

Če želite povzeti vsak n-ti stolpec, lahko uporabite formulo, ki temelji na funkcijah SUMPRODUCT, MOD in COLUMN.

V prikazanem primeru je formula v L5:

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

Pojasnilo

V bistvu uporablja SUMPRODUCT za seštevanje vrednosti v vrsti, ki so bile "filtrirane" z uporabo logike, ki temelji na MOD. Ključno je to:

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

Ta delček formule uporablja funkcijo COLUMN, da dobi niz "relativnih" številk stolpcev za obseg (podrobno razložen tukaj), ki je videti takole:

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

To gre v MOD tako:

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

kjer je K5 vrednost za N v vsaki vrstici. Funkcija MOD vrne ostanek za vsako številko stolpca, deljeno z N. Torej, na primer, ko je N = 3, bo MOD vrnil nekaj takega:

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

Upoštevajte, da se ničle pojavljajo v stolpcih 3, 6, 9 itd. Formula uporablja = 0, da prisili TRUE, ko je preostanek nič, in FALSE, če ne, nato uporabimo dvojni negativ (-), da prisilimo TRUE in FALSE na enote in ničle. Tako ostane matrika, kot je ta:

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

Kjer 1s zdaj označujejo "n-te vrednosti". To gre v SUMPRODUCT kot polje1, skupaj z B5: J5 kot polje2. Nato SUMPRODUCT naredi svoje, najprej pomnoži, nato sešteje produkte nizov.

Edine vrednosti, ki "preživijo" množenje, so tiste, kjer array1 vsebuje 1. Na ta način si lahko omislite logiko array1, ki "filtrira" vrednosti v array2.

Seštej vse druge stolpce

Če želite povzeti vse druge stolpce, prilagodite to formulo po potrebi, pri tem pa upoštevajte, da formula samodejno dodeli 1 prvemu stolpcu v obsegu. Če želite sešteti EVEN stolpce, uporabite:

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

Če želite sešteti stolpce ODD, uporabite:

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

Zanimive Članki...