Formuła programu Excel: wyszukiwanie dokładnego dopasowania za pomocą INDEKSU i PODAJ.POZYCJĘ -

Spisie treści

Formuła ogólna

(=INDEX(data,MATCH(TRUE,EXACT(val,lookup_col),0),col_num))

Podsumowanie

Wyszukiwanie z rozróżnianiem wielkości liter

Domyślnie w standardowych wyszukiwaniach z WYSZUKAJ.PIONOWO lub INDEKS + PODAJ.POZYCJĘ nie jest rozróżniana wielkość liter. Zarówno WYSZUKAJ.PIONOWO, jak i PODAJ.POZYCJĘ po prostu zwrócą pierwsze dopasowanie, ignorując wielkość liter.

Jeśli jednak musisz przeprowadzić wyszukiwanie z uwzględnieniem wielkości liter, możesz to zrobić za pomocą formuły tablicowej korzystającej z funkcji INDEKS, PODAJ.POZYCJĘ i PORÓWNANIE.

W tym przykładzie używamy następującego wzoru

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Ta formuła jest formułą tablicową i należy ją wprowadzić za pomocą kombinacji Control + Shift + Enter.

Wyjaśnienie

Ponieważ sama funkcja MATCH nie jest rozróżniana, potrzebujemy sposobu, aby Excel porównał wielkość liter. Funkcja EXACT jest do tego idealna, ale sposób, w jaki jej używamy, jest trochę nietypowy, ponieważ musimy porównać jedną komórkę z zakresem komórek.

Pracując od wewnątrz, najpierw mamy:

EXACT(F4,B3:B102)

gdzie F4 zawiera wartość wyszukiwania, a B3: B102 to odwołanie do kolumny odnośnika (imiona). Ponieważ jako drugi argument podajemy EXACT tablicę, otrzymamy z powrotem tablicę PRAWDA fałszywych wartości w następujący sposób:

(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE itd.)

Jest to wynik porównania wartości w B4 w każdej komórce w kolumnie odnośnika. Gdziekolwiek widzimy PRAWDA, wiemy, że mamy dokładne dopasowanie, które uwzględnia wielkość liter.

Teraz musimy uzyskać pozycję (tj. Numer wiersza) wartości PRAWDA w tej tablicy. W tym celu możemy użyć MATCH, wyszukując TRUE i ustawiając w trybie dopasowania ścisłego:

MATCH(TRUE,EXACT(F4,B3:B102),0)

Ważne jest, aby pamiętać, że PODAJ.POZYCJĘ zawsze zwróci pierwsze dopasowanie, jeśli są duplikaty, więc jeśli zdarzy się, że w kolumnie będzie inne dokładne dopasowanie, dopasujesz tylko pierwsze dopasowanie.

Teraz mamy numer wiersza. Następnie wystarczy użyć INDEKSU, aby pobrać wartość z prawego przecięcia wiersza i kolumny. Numer kolumny w tym przypadku jest zakodowane jako 3, ponieważ nazwany zakres danych zawiera wszystkie kolumny. Ostateczna formuła to:

(=INDEX(data,MATCH(TRUE,EXACT(F4,B3:B102),0),3))

Musimy wprowadzić tę formułę jako formułę tablicową ze względu na tablicę utworzoną przez EXACT.

Ta formuła pobierze zarówno wartości tekstowe, jak i liczbowe. Jeśli chcesz pobrać tylko liczby, możesz użyć formuły opartej na SUMPRODUCT; zobacz link poniżej

Interesujące artykuły...