
Formuła ogólna
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Podsumowanie
Aby skonfigurować formułę INDEKS i PODAJ.POZYCJĘ, w której tablica dostarczona do INDEKSU jest zmienna, możesz użyć funkcji WYBIERZ. W pokazanym przykładzie wzór w I5, skopiowany w dół, to:
=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)
Z Table1 i Table2, jak pokazano na zrzucie ekranu.
Wyjaśnienie
Zasadniczo jest to normalna funkcja INDEKS i PODAJ.POZYCJĘ:
=INDEX(array,MATCH(value,range,0))
Gdzie funkcja PODAJ.POZYCJĘ służy do znalezienia prawidłowego wiersza do zwrócenia z tablicy, a funkcja INDEKS zwraca wartość z tej tablicy.
Jednak w tym przypadku chcemy utworzyć zmienną tablicową, aby zakres podany do INDEKSU mógł być zmieniany w locie. Robimy to za pomocą funkcji WYBIERZ:
CHOOSE(H5,Table1,Table2)
Funkcja WYBIERZ zwraca wartość z listy przy użyciu podanej pozycji lub indeksu. Wartość może być stałą, odwołaniem do komórki, tablicą lub zakresem. W tym przykładzie indeks numeryczny znajduje się w kolumnie H. Gdy numer indeksu wynosi 1, używamy Tabeli1. Gdy indeks wynosi 2, podajemy Table2 do INDEX:
CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2
Uwaga: zakresy podane do WYBIERZ nie muszą być tabelami ani nazwanymi zakresami.
W I5 liczba w kolumnie H to 1, więc WYBIERZ zwraca tabelę 1, a formuła jest następująca:
=INDEX(Table1,MATCH("A",Table1(Model),0),2)
Funkcja PODAJ.POZYCJĘ zwraca pozycję „A” w tabeli 1, czyli 1, a INDEKS zwraca wartość z wiersza 1, kolumny 2 tabeli 1, czyli 20,00 USD
=INDEX(Table1,1,2) // returns $20.00