
Formuła ogólna
=MATCH(value,array,-1)
Podsumowanie
Aby wyszukać „następne największe” dopasowanie w zbiorze wartości, możesz użyć funkcji PODAJ.POZYCJĘ w trybie przybliżonego dopasowania, z -1 dla typu dopasowania. W pokazanym przykładzie formuła w F7 to:
=MATCH(F6,length,-1)
gdzie „długość” to nazwany zakres B5: B11, a „koszt” to nazwany zakres C5: C11.
Wyjaśnienie
Domyślnym zachowaniem funkcji PODAJ.POZYCJĘ jest dopasowanie „następnej najmniejszej” wartości na liście posortowanej w kolejności rosnącej. Zasadniczo funkcja MATCH przesuwa się naprzód na liście, aż napotka wartość większą niż wartość wyszukiwania, a następnie wraca do poprzedniej wartości.
Tak więc, gdy wartości wyszukiwania są sortowane w kolejności rosnącej, obie te formuły zwracają „następna najmniejsza”:
=MATCH(value,array) // default =MATCH(value,array,1) // explicit
Jednak po ustawieniu typu dopasowania na -1 i sortowaniu wartości wyszukiwania w porządku malejącym funkcja PODAJ.POZYCJĘ zwróci następne największe dopasowanie. A więc, jak widać na przykładzie:
=MATCH(F6,length,-1)
zwraca 4, ponieważ 400 jest kolejnym największym dopasowaniem po 364.
Znajdź powiązany koszt
Pełna formuła INDEKS / DOPASUJ, aby pobrać powiązany koszt w komórce F8, to:
=INDEX(cost,MATCH(F6,length,-1))