
Generisk formel
=INDEX(rng1,MODE(IF(rng2=criteria,MATCH(rng1,rng1,0))))
Sammanfattning
För att hitta den vanligaste texten i ett intervall, baserat på kriterier du anger, kan du använda en matrisformel baserad på flera Excel-funktioner INDEX, MATCH, MODE och IF. I exemplet som visas är formeln i G5:
=INDEX(supplier,MODE(IF(client=F5,MATCH(supplier,supplier,0))))
där "leverantör" är det namngivna intervallet C5: C15 och "klient" är det namngivna intervallet B5: B15.
Obs: detta är en matrisformel och måste anges med kontroll + skift + enter.
Förklaring
Arbetar inifrån och ut, använder vi MATCH-funktionen för att matcha textintervallet mot sig själv, genom att ge MATCH samma intervall för uppslagsvärde och uppslagsmatris, med noll för matchningstyp:
MATCH(supplier,supplier,0)
Eftersom uppslagsvärdet är en matris med 10 värden returnerar MATCH en matris med 10 resultat:
(1;1;3;3;5;1;7;3;1;5;5)
Varje artikel i denna matris representerar den första positionen där ett leverantörsnamn visas i data. Denna matris matas in i IF-funktionen, som endast används för att filtrera resultat för klient A:
IF(client=F5,(1;1;3;3;5;1;7;3;1;5;5))
IF returnerar den filtrerade matrisen till MODE-funktionen:
(1;FALSE;3;FALSE;5;1;FALSE;FALSE;1;5;FALSE)
Observera att endast positioner associerade med klient A finns kvar i matrisen. MODE ignorerar FALSE-värden och returnerar det oftast förekommande numret till INDEX-funktionen som radnummer:
=INDEX(supplier,1)
Slutligen, med det namngivna intervallet "leverantör" som array, returnerar INDEX "Brown", den vanligaste leverantören för klient A.