Excel-formel: Maksimum for hver niende kolonne -

Indholdsfortegnelse

Generisk formel

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

Resumé

For at få det maksimale antal hver kolonne kan du bruge en matrixformel baseret på MAX-, MOD- og COLUMN-funktionerne. I det viste eksempel er formlen i M5:

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

Bemærk: dette er en matrixformel og skal indtastes med kontrol + skift + enter.

Forklaring

Denne formel bruger MOD og COLUMN-funktionerne til at filtrere værdier, der ikke er i nte kolonner, og kører derefter MAX på resultatet.

Nøglen er dette uddrag:

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

Her bruger formlen COLUMN-funktionen til at få et sæt "relative" kolonnetal for området (forklaret detaljeret her), der ser sådan ud:

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

Denne matrix går ind i MOD-funktionen som nummerargument:

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

hvor L5 er den værdi, der skal bruges til "nth". MOD-funktionen returnerer resten for hvert kolonnetal divideret med N. Så når N = 3 f.eks., Returnerer MOD et array som dette:

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

Bemærk, at der vises nuller for kolonne 3, 6, 9 osv. Svarende til hver 3. kolonne. Denne matrix sammenlignes med nul med det logiske udtryk = 0 for at tvinge en SAND når resten er nul og en FALSK når ikke. Disse værdier går ind i IF-funktionen som den logiske test. IF-funktionen filtrerer i overensstemmelse hermed, så kun værdier i det oprindelige område i nte kolonner gør det til det endelige array. De andre værdier bliver FALSE.

Når n = 3, ser den endelige matrix inde i MAX sådan ud:

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

Endelig ignorerer MAX-funktionen FALSE-værdier og returnerer det maksimale antal resterende værdier, 19.

Maks. Af hver anden kolonne

Hvis du ønsker at få maksimum for hver anden kolonne, skal du bare tilpasse denne formel efter behov, og forstå formlen tildeler automatisk 1 til den første kolonne i området. For at få det maksimale af EVEN-kolonner skal du bruge:

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

For at få det maksimale antal ODD-kolonner skal du bruge:

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

Interessante artikler...