Excel-formel: Maks. Av hver niende kolonne -

Innholdsfortegnelse

Generisk formel

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

Sammendrag

For å få maksimalt hver nende kolonne, kan du bruke en matriseformel basert på MAX, MOD og COLUMN-funksjonene. I eksemplet vist er formelen i M5:

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

Merk: dette er en matriseformel og må angis med kontroll + skift + enter.

Forklaring

Denne formelen bruker MOD- og COLUMN-funksjonene til å filtrere ut verdier som ikke er i nte kolonner, og kjører deretter MAX på resultatet.

Nøkkelen er denne kodebiten:

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

Her bruker formelen KOLONN-funksjonen for å få et sett med "relative" kolonnetall for området (forklart i detalj her) som ser slik ut:

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

Denne matrisen går inn i MOD-funksjonen som antallargument:

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

der L5 er verdien som skal brukes for "nth". MOD-funksjonen returnerer resten for hvert kolonnetall delt på N. Så når N = 3 for eksempel, vil MOD returnere en matrise som dette:

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

Merk at nuller vises for kolonnene 3, 6, 9 osv., Som tilsvarer hver tredje kolonne. Denne matrisen sammenlignes med null med det logiske uttrykket = 0 for å tvinge en SANT når resten er null og en FALSK når ikke. Disse verdiene går inn i IF-funksjonen som den logiske testen. IF-funksjonen filtrerer deretter, så bare verdier i det opprinnelige området i nte kolonner gjør det til den endelige matrisen. De andre verdiene blir FALSE.

Når n = 3, ser den endelige matrisen i MAX slik ut:

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

Til slutt ignorerer MAX-funksjonen FALSE verdier og returnerer maksimalt antall gjenværende verdier, 19.

Maks av hver annen kolonne

Hvis du ønsker å få maksimalt hver annen kolonne, er det bare å tilpasse denne formelen etter behov. Å forstå formelen tilordner automatisk 1 til den første kolonnen i området. For å få maksimalt EVEN kolonner, bruk:

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

For å få maksimalt antall ODD-kolonner, bruk:

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

Interessante artikler...