Excel-formel: Villkorligt läge med kriterier -

Innehållsförteckning

Generisk formel

(=MODE(IF(criteria,data)))

Sammanfattning

För att beräkna ett villkorligt läge med ett eller flera kriterier kan du använda en matrisformel baserad på funktionerna IF och MODE. I exemplet som visas är formeln i F5:

(=MODE(IF(group=E5,data)))

där "grupp" är det namngivna området B5: B14 och "data" är det namngivna området C5: C14.

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

Förklaring

MODE-funktionen har inget inbyggt sätt att tillämpa kriterier. Med tanke på ett intervall returnerar det det nummer som förekommer oftast i det intervallet.

För att tillämpa kriterier använder vi IF-funktionen i MODE för att filtrera värden i ett intervall. I det här exemplet filtrerar IF-funktionen värden efter grupp med ett uttryck så här:

IF(group=E5,data)

Detta jämför varje värde i det angivna området "grupp" med värdet i E5, vilket är "A". Eftersom det logiska testet tillämpas på en array med flera värden blir resultatet en array med TRUE FALSE-värden:

(TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE)

där varje SANT motsvarar en rad där gruppen är "A". Denna matris blir ett filter. För varje SANT returnerar IF motsvarande värde i det angivna intervallet "data". FALSE värden förblir oförändrade. Det slutliga resultatet av IF är denna matris:

(3;FALSE;3;FALSE;5;FALSE;1;FALSE;2;FALSE)

Observera att endast värden i grupp A har överlevt, grupp B-värden är nu FALSE. Denna matris återgår till MODE-funktionen, som automatiskt ignorerar FALSE-värden och returnerar det nummer som oftast förekommer, vilket är 3.

Obs! När IF används på detta sätt för att filtrera värden med en arrayoperation måste formeln anges med kontroll + shift + enter.

Ytterligare kriterier

För att tillämpa mer än ett kriterium kan du hysa en annan IF i den första IF:

(=MODE(IF(criteria1,IF(criteria2,data))))

Intressanta artiklar...