
Obecný vzorec
=INDEX(rng1,MODE(IF(rng2=criteria,MATCH(rng1,rng1,0))))
souhrn
Chcete-li najít nejčastěji se vyskytující text v rozsahu, na základě zadaných kritérií, můžete použít maticový vzorec založený na několika funkcích aplikace Excel INDEX, MATCH, MODE a IF. V zobrazeném příkladu je vzorec v G5:
=INDEX(supplier,MODE(IF(client=F5,MATCH(supplier,supplier,0))))
kde „dodavatel“ je pojmenovaný rozsah C5: C15 a „klient“ je pojmenovaný rozsah B5: B15.
Poznámka: toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.
Vysvětlení
Při práci zevnitř ven používáme funkci MATCH k porovnání textového rozsahu proti sobě tím, že MATCH dává stejný rozsah pro vyhledávací hodnotu a vyhledávací pole s nulou pro typ shody:
MATCH(supplier,supplier,0)
Vzhledem k tomu, že vyhledávací hodnotou je pole s 10 hodnotami, MATCH vrátí pole 10 výsledků:
(1;1;3;3;5;1;7;3;1;5;5)
Každá položka v tomto poli představuje první pozici, na které se v datech objeví název dodavatele. Toto pole se přivádí do funkce IF, která se používá k filtrování výsledků pouze pro klienta A:
IF(client=F5,(1;1;3;3;5;1;7;3;1;5;5))
IF vrátí filtrované pole do funkce MODE:
(1;FALSE;3;FALSE;5;1;FALSE;FALSE;1;5;FALSE)
Všimněte si, že v poli zůstanou pouze pozice spojené s klientem A. MODE ignoruje FALSE hodnoty a vrátí nejčastěji se vyskytující číslo do funkce INDEX jako číslo řádku:
=INDEX(supplier,1)
Nakonec s názvem pole „dodavatel“ jako pole vrátí INDEX „hnědý“, nejčastěji se vyskytující dodavatel pro klienta A.