
Formuła ogólna
=INDEX(rng1,MODE(IF(rng2=criteria,MATCH(rng1,rng1,0))))
Podsumowanie
Aby znaleźć najczęściej występujący tekst w zakresie, w oparciu o podane kryteria, możesz użyć formuły tablicowej opartej na kilku funkcjach programu Excel INDEKS, PODAJ.POZYCJĘ, TRYB i JEŻELI. W pokazanym przykładzie formuła w G5 to:
=INDEX(supplier,MODE(IF(client=F5,MATCH(supplier,supplier,0))))
gdzie „dostawca” to nazwany zakres C5: C15, a „klient” to nazwany zakres B5: B15.
Uwaga: to jest formuła tablicowa i należy ją wprowadzić za pomocą Ctrl + Shift + Enter.
Wyjaśnienie
Pracując od wewnątrz, używamy funkcji PODAJ.POZYCJĘ, aby dopasować zakres tekstu do siebie samego, nadając PODAJNIK ten sam zakres dla wartości wyszukiwania i tablicy wyszukiwania, z zerem dla typu dopasowania:
MATCH(supplier,supplier,0)
Ponieważ wartość wyszukiwania jest tablicą zawierającą 10 wartości, PODAJ.POZYCJĘ zwraca tablicę zawierającą 10 wyników:
(1;1;3;3;5;1;7;3;1;5;5)
Każda pozycja w tej tablicy reprezentuje pierwszą pozycję, na której w danych pojawia się nazwa dostawcy. Ta tablica jest przekazywana do funkcji IF, która jest używana do filtrowania wyników tylko dla Klienta A:
IF(client=F5,(1;1;3;3;5;1;7;3;1;5;5))
JEŻELI zwraca przefiltrowaną tablicę do funkcji TRYB:
(1;FALSE;3;FALSE;5;1;FALSE;FALSE;1;5;FALSE)
Zauważ, że tylko pozycje związane z Klientem A pozostają w tablicy. TRYB ignoruje wartości FALSE i zwraca najczęściej występującą liczbę do funkcji INDEKS jako numer wiersza:
=INDEX(supplier,1)
Wreszcie, mając nazwany zakres „dostawca” jako tablicę, INDEKS zwraca „Brązowy”, najczęściej występujący dostawca dla Klienta A.