Excel-képlet: Minden n-edik oszlop max

Tartalomjegyzék

Általános képlet

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

Összegzés

Minden n-edik oszlop maximális értékének eléréséhez használhat egy tömbképletet, amely a MAX, MOD és COLUMN függvényeken alapul. A bemutatott példában az M5 képlete a következő:

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

Megjegyzés: ez egy tömbképlet, amelyet a control + shift + enter billentyűkombinációval kell megadni.

Magyarázat

Ez a képlet a MOD és COLUMN függvényekkel szűri ki az n-edik oszlopban nem szereplő értékeket, majd az eredményen futtatja a MAX értéket.

A kulcs ez a részlet:

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

Itt a képlet a COLUMN függvény segítségével kap egy "relatív" oszlopszámot a tartományhoz (itt részletesen kifejtve), amely így néz ki:

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

Ez a tömb a MOD függvénybe kerül mint argumentum:

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

ahol L5 az "n-edikre" használandó érték. A MOD függvény minden oszlopszám maradékát visszaadja N-vel osztva. Például, amikor N = 3, a MOD egy ilyen tömböt ad vissza:

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

Ne feledje, hogy a 3., 6., 9., stb. Oszlopokban nullák jelennek meg, amelyek minden harmadik oszlopnak megfelelnek. Ezt a tömböt a nullához hasonlítjuk a = 0 logikai kifejezéssel, hogy IGAZ-ot kényszerítsünk, ha a maradék nulla, és HAMIS-ot, ha nem. Ezek az értékek logikai tesztként kerülnek az IF függvénybe. Az IF függvény ennek megfelelően szűr, így csak az n-edik oszlop eredeti tartományának értékei teszik be a végső tömbbe. A többi érték HAMIS lesz.

Amikor n = 3, a MAX belsejében található utolsó tömb így néz ki:

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

Végül a MAX függvény figyelmen kívül hagyja a FALSE értékeket, és a fennmaradó értékek maximumát adja vissza, 19.

Minden más oszlop max

Ha minden más oszlop maximális értékét meg akarja kapni, csak szükség szerint módosítsa ezt a képletet, ha megérti a képletet, automatikusan hozzárendel 1-et a tartomány első oszlopához. Az EVEN oszlopok maximális számának megszerzéséhez használja:

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

Az ODD oszlopok maximális számának megszerzéséhez használja:

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

érdekes cikkek...