Excel-formel: Max för varje nionde kolumn -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att få max för varje nionde kolumn kan du använda en matrisformel baserad på MAX-, MOD- och COLUMN-funktionerna. I exemplet som visas är formeln i M5:

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

Obs: detta är en matrisformel och måste anges med kontroll + skift + enter.

Förklaring

Den här formeln använder funktionerna MOD och COLUMN för att filtrera bort värden som inte finns i n: e kolumner och kör sedan MAX på resultatet.

Nyckeln är detta utdrag:

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

Här använder formeln COLUMN-funktionen för att få en uppsättning "relativa" kolumnnummer för intervallet (förklaras i detalj här) som ser ut så här:

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

Denna matris går in i MOD-funktionen som talargument:

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

där L5 är det värde som ska användas för "nth". MOD-funktionen returnerar återstoden för varje kolumnnummer dividerat med N. Så, till exempel, när N = 3 kommer MOD att returnera en matris så här:

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

Observera att nollor visas för kolumner 3, 6, 9, etc., motsvarande var tredje kolumn. Denna matris jämförs med noll med det logiska uttrycket = 0 för att tvinga en SANT när resten är noll och en FALSK när inte. Dessa värden går in i IF-funktionen som det logiska testet. IF-funktionen filtrerar därefter, så endast värden i det ursprungliga intervallet i n: e kolumner gör det till den slutliga matrisen. De andra värdena blir FALSE.

När n = 3 ser den slutliga matrisen inuti MAX så här:

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

Slutligen ignorerar MAX-funktionen FALSE-värden och returnerar det maximala antalet återstående värden, 19.

Max av varannan kolumn

Om du vill få max för varje annan kolumn, anpassar du bara denna formel efter behov, förståelsen av formeln tilldelar automatiskt 1 till den första kolumnen i intervallet. För att få max EVEN kolumner, använd:

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

För att få max ODD-kolumner, använd:

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

Intressanta artiklar...