Excel vzorec: Sčítat každý n-tý sloupec -

Obsah

Obecný vzorec

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

souhrn

Chcete-li sečíst každý n-tý sloupec, můžete použít vzorec založený na funkcích SUMPRODUCT, MOD a COLUMN.

V zobrazeném příkladu je vzorec v L5:

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

Vysvětlení

V jádru používá SUMPRODUCT k součtu hodnot v řádku, které byly "filtrovány" pomocí logiky založené na MOD. Klíčem je toto:

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

Tento úryvek vzorce používá funkci COLUMN k získání sady „relativních“ čísel sloupců pro rozsah (podrobně vysvětlený zde), který vypadá takto:

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

To jde do MOD takto:

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

kde K5 je hodnota N v každém řádku. Funkce MOD vrátí zbytek pro každé číslo sloupce dělené N. Takže například když N = 3, MOD vrátí něco takového:

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

Všimněte si, že nuly se objevují pro sloupce 3, 6, 9 atd. Vzorec používá = 0 k vynucení TRUE, když je zbytek nula, a FALSE, pokud ne, pak použijeme dvojitý zápor (-) k vynucení TRUE a FALSE k jednotkám a nulám. To ponechává pole takto:

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

Kde 1 s nyní označují „n-té hodnoty“. To jde do SUMPRODUCT jako pole1, spolu s B5: J5 jako pole2. SUMPRODUCT pak udělá svou věc, nejprve znásobí a poté sčítá produkty polí.

Jediné hodnoty, které „přežijí“ násobení, jsou ty, kde pole1 obsahuje 1. Tímto způsobem můžete uvažovat o logice pole1 „filtrující“ hodnoty v poli2.

Sečtěte každý druhý sloupec

Pokud chcete sečíst všechny další sloupce, přizpůsobte tento vzorec podle potřeby a mějte na paměti, že vzorec automaticky přiřadí 1 prvnímu sloupci v rozsahu. Chcete-li sčítat EVEN sloupce, použijte:

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

Chcete-li sečíst sloupce ODD, použijte:

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

Zajímavé články...