
Generisk formel
(=MODE(IF(criteria,data)))
Sammendrag
For å beregne en betinget modus med ett eller flere kriterier, kan du bruke en matriseformel basert på IF- og MODE-funksjonene. I eksemplet vist er formelen i F5:
(=MODE(IF(group=E5,data)))
hvor "gruppe" er det navngitte området B5: B14, og "data" er det navngitte området C5: C14.
Merk: dette er en matriseformel og må angis med kontroll + skift + enter.
Forklaring
MODE-funksjonen har ingen innebygd måte å anvende kriterier på. Gitt et område, vil det returnere det hyppigst forekommende tallet i det området.
For å bruke kriterier bruker vi IF-funksjonen i MODE til å filtrere verdier i et område. I dette eksemplet filtrerer IF-funksjonen verdier etter gruppe med et uttrykk som dette:
IF(group=E5,data)
Dette sammenligner hver verdi i det nevnte området "gruppe" med verdien i E5, som er "A". Fordi den logiske testen brukes på en matrise med flere verdier, er resultatet en matrise med SANTE FALSKE verdier:
(TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE)
der hver SANT tilsvarer en rad der gruppen er "A". Denne matrisen blir et filter. For hver SANT returnerer IF den tilsvarende verdien i det nevnte området "data". FALSE verdier forblir uendret. Det endelige resultatet av IF er denne matrisen:
(3;FALSE;3;FALSE;5;FALSE;1;FALSE;2;FALSE)
Legg merke til bare verdier i gruppe A har overlevd, gruppe B-verdier er nå FALSE. Denne matrisen returneres til MODE-funksjonen, som automatisk ignorerer FALSE verdier og returnerer det hyppigst forekommende tallet, som er 3.
Merk: når IF brukes på denne måten for å filtrere verdier med en arrayoperasjon, må formelen legges inn med kontroll + shift + enter.
Ytterligere kriterier
For å bruke mer enn ett kriterium, kan du hekke en annen IF inne i den første IF:
(=MODE(IF(criteria1,IF(criteria2,data))))