Formuła programu Excel: pierwsze dopasowanie między dwoma zakresami -

Spisie treści

Formuła ogólna

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

Podsumowanie

Aby pobrać pierwsze dopasowanie w dwóch zakresach wartości, możesz użyć formuły opartej na funkcjach INDEKS, PODAJ.POZYCJĘ i LICZ.JEŻELI. W pokazanym przykładzie formuła w G5 to:

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

gdzie „zakres1” to nazwany zakres B5: B8, „zakres2” to nazwany zakres D5: D7.

Wyjaśnienie

W tym przykładzie nazwany zakres „zakres1” odnosi się do komórek B5: B8, a nazwany zakres „zakres2” odnosi się do D5: D7. Używamy nazwanych zakresów wyłącznie dla wygody i czytelności; formuła działa również dobrze w przypadku zwykłych odwołań do komórek.

Rdzeniem tej formuły jest INDEX i MATCH. Funkcja INDEKS pobiera wartość z zakresu2, która reprezentuje pierwszą wartość z zakresu2, która znajduje się w zakresie1. Funkcja INDEKS wymaga indeksu (numeru wiersza) i generujemy tę wartość za pomocą funkcji PODAJ.POZYCJĘ, która jest ustawiona tak, aby odpowiadała wartości PRAWDA w tej części formuły:

MATCH(TRUE,COUNTIF(range1,range2)>0,0)

Tutaj wartością dopasowania jest PRAWDA, a tablica wyszukiwania jest tworzona z LICZ.JEŻELI tutaj:

COUNTIF(range1,range2)>0

LICZ.JEŻELI zwraca liczbę wartości z zakresu2, które pojawiają się w zakresie1. Ponieważ zakres2 zawiera wiele wartości, LICZ.JEŻELI zwróci wiele wyników, które wyglądają tak:

(0;0;1)

Używamy „> 0”, aby wymusić na wszystkich wynikach wartość PRAWDA lub FAŁSZ:

(FALSE;FALSE;TRUE)

Następnie MATCH robi swoje i zwraca pozycję pierwszej PRAWDA (jeśli istnieje), która pojawia się, w tym przypadku, liczba 3.

Na koniec INDEKS zwraca wartość na tej pozycji, „Czerwony”.

Interesujące artykuły...