Excel vzorec: Max každého n-tého sloupce -

Obsah

Obecný vzorec

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

souhrn

Chcete-li získat maximum každého n-tého sloupce, můžete použít maticový vzorec založený na funkcích MAX, MOD a COLUMN. V zobrazeném příkladu je vzorec v M5:

=MAX(IF(MOD(COLUMN(B5:K5)-COLUMN(B5)+1,L5)=0,B5:K5))

Poznámka: toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.

Vysvětlení

Tento vzorec používá funkce MOD a COLUMN k odfiltrování hodnot, které nejsou v n-tých sloupcích, a poté na výsledku spustí MAX.

Klíčem je tento úryvek:

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

Zde vzorec 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,10)

Toto pole jde do funkce MOD jako argument číslo:

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

kde L5 je hodnota použitá pro „n-té“. Funkce MOD vrací zbytek pro každé číslo sloupce děleno N. Takže například když N = 3, MOD vrátí pole takto:

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

Všimněte si, že nuly se objevují pro sloupce 3, 6, 9 atd., Což odpovídá každému 3. sloupci. Toto pole je porovnáno s nulou s logickým výrazem = 0 vynutit hodnotu TRUE, když je zbytek nula, a hodnotu FALSE, pokud není. Tyto hodnoty vstupují do funkce IF jako logický test. Funkce IF odpovídajícím způsobem filtruje, takže do konečného pole se dostanou pouze hodnoty v původním rozsahu v n-tých sloupcích. Ostatní hodnoty se stanou NEPRAVDA.

Když n = 3, konečné pole uvnitř MAX vypadá takto:

MAX((FALSE,FALSE,11,FALSE,FALSE,8,FALSE,FALSE,19,FALSE))

Nakonec funkce MAX ignoruje FALSE hodnoty a vrátí maximum zbývajících hodnot, 19.

Max každého druhého sloupce

Pokud chcete získat maximum každého druhého sloupce, přizpůsobte tento vzorec podle potřeby, pochopení vzorce automaticky přiřadí 1 prvnímu sloupci v rozsahu. Chcete-li získat maximum EVEN sloupců, použijte:

(=MAX(IF(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=0,rng)))

Chcete-li získat maximum sloupců ODD, použijte:

(=MAX(IF(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=1,rng)))

Zajímavé články...