Excel-ova formula: največ vsakega n-tega stolpca -

Kazalo

Splošna formula

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

Povzetek

Če želite dobiti maksimum vsakega n-tega stolpca, lahko uporabite matrično formulo, ki temelji na funkcijah MAX, MOD in COLUMN. V prikazanem primeru je formula v M5:

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

Opomba: to je matrična formula, ki jo je treba vnesti s tipko control + shift + enter.

Pojasnilo

Ta formula uporablja funkcije MOD in COLUMN za filtriranje vrednosti, ki niso v n-ih stolpcih, nato na rezultatu zažene MAX.

Ključ je ta delček:

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

Tu formula 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,10)

Ta matrika gre v funkcijo MOD kot argument števila:

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

kjer je L5 vrednost, ki jo je treba uporabiti za "nth". Funkcija MOD vrne preostanek za vsako številko stolpca, deljeno z N. Torej, na primer, ko je N = 3, bo MOD vrnil matriko, kot je ta:

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

Upoštevajte, da se v stolpcih 3, 6, 9 itd. Pojavijo ničle, ki ustrezajo vsakemu 3. stolpcu. Ta matrika se primerja z nič z logičnim izrazom = 0, da prisili TRUE, ko je preostanek nič, in FALSE, če ne. Te vrednosti preidejo v funkcijo IF kot logični test. Funkcija IF ustrezno filtrira, zato se v končno matriko uvrstijo le vrednosti v prvotnem obsegu v n-ih stolpcih. Ostale vrednosti postanejo LAŽNE.

Ko je n = 3, je končni niz znotraj MAX-a videti takole:

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

Končno funkcija MAX prezre vrednosti FALSE in vrne največ preostalih vrednosti, 19.

Največ vsakega drugega stolpca

Če želite dobiti največ vseh drugih stolpcev, samo prilagodite to formulo po potrebi, saj razumevanje formule samodejno dodeli 1 prvemu stolpcu v obsegu. Če želite dobiti največ EVEN stolpcev, uporabite:

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

Če želite dobiti največ stolpcev ODD, uporabite:

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

Zanimive Članki...