
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”.