=INDEKS(A2:C6;3;2) (po angielsku INDEX) zwraca wartość z trzeciego wiersza i drugiej kolumny zakresu A2:C6. Pozycje liczy się od lewej górnej komórki zakresu, więc wiersz 3 zakresu A2:C6 to wiersz 4 arkusza. Zmień 3 albo 2 i zobacz, jak wynik się przesuwa. Tabele pokazują formuły po angielsku, ale możesz w nich wpisywać formuły także po polsku, ze średnikami.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Row | Column | Result | |
| 2 | Apple | Fruit | $1.20 | 3 | 2 | Vegetable | |
| 3 | Pear | Fruit | $1.50 | ||||
| 4 | Carrot | Vegetable | $0.80 | ||||
| 5 | Bread | Bakery | $2.40 | ||||
| 6 | Milk | Dairy | $1.10 |
=INDEKS(A2:C6;E2;F2)E2 zawiera numer wiersza, a F2 numer kolumny. Wiersz 3 to Carrot, a kolumna 2 to Category, więc G2 pokazuje Vegetable. Ustaw F2 na 1, aby dostać nazwę produktu, albo E2 na 6, aby zobaczyć #ADR! (po angielsku #REF!; tabele pokazują angielskie nazwy błędów): A2:C6 ma tylko pięć wierszy.
Składnia funkcji INDEKS
=INDEX(array, row_num, [column_num])
array(tablica): zakres (albo tablica), z którego czytasz.row_num(nr_wiersza): który jego wiersz, licząc od 1. 0 oznacza wszystkie wiersze.column_num(nr_kolumny): która kolumna, licząc od 1. Opcjonalny, gdy zakres to jedna kolumna albo jeden wiersz; 0 oznacza wszystkie kolumny.
Przy jednej kolumnie wystarczy jedna liczba: =INDEKS(A2:A6;4) to czwarty element, Bread. Druga postać, =INDEKS((A2:C3;A5:C6);1;1;2), wybiera z jednego z kilku zakresów; rzadko jest potrzebna.
N-ty element albo ostatni
INDEKS z jedną kolumną odpowiada na pytanie „jaki jest element numer n”. W połączeniu z ILE.NIEPUSTYCH, która liczy wypełnione komórki, zwraca ostatni element rosnącej listy.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Item number | 2 | |
| 2 | Apple | Nth item | Pear | |
| 3 | Pear | Last item | Milk | |
| 4 | Carrot | |||
| 5 | Bread | |||
| 6 | Milk |
=INDEKS(A2:A6;ILE.NIEPUSTYCH(A2:A6))D1 zawiera 2, więc D2 zwraca Pear. ILE.NIEPUSTYCH liczy 5 produktów, więc D3 zwraca piąty, Milk. W polskim Excelu formuła z D3 to =INDEKS(A2:A6;ILE.NIEPUSTYCH(A2:A6)). Usuń Milk, a D3 zwróci Bread. W prawdziwym pliku skieruj obie formuły na dłuższy zakres, na przykład A2:A1000, aby nowe wiersze były uwzględniane; ILE.NIEPUSTYCH działa tak tylko wtedy, gdy kolumna nie ma pustych komórek w środku.
Cały wiersz albo kolumna z 0
0 jako numer wiersza oznacza „każdy wiersz”, więc INDEKS(B2:D5;0;2) to cała druga kolumna. W SUMA, ŚREDNIA albo MAX pozwala to zsumować kolumnę wybraną numerem.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar | Month number | Total | |
| 2 | North | 4,200 | 3,900 | 4,800 | 2 | 15,200 | |
| 3 | South | 3,100 | 3,600 | 3,300 | |||
| 4 | East | 5,200 | 4,700 | 5,600 | |||
| 5 | West | 2,800 | 3,000 | 3,400 |
=SUMA(INDEKS(B2:D5;0;F2))Miesiąc 2 to Feb, a G2 dodaje C2:C5: 15,200. W polskim Excelu formuła to =SUMA(INDEKS(B2:D5;0;F2)). Zmień F2 na 3, aby dostać marzec. Cały wiersz działa tak samo: =SUMA(INDEKS(B2:D5;3;0)) sumuje East. W Excelu 2021 i Microsoft 365 samo =INDEKS(B2:D5;0;2) rozlewa cztery wartości w dół arkusza. Aby wybrać kolumnę według nagłówka zamiast numeru, zastąp F2 funkcją PODAJ.POZYCJĘ; to schemat INDEKS i PODAJ.POZYCJĘ.
INDEKS na tablicy albo rozlanym wyniku
INDEKS czyta też tablice zwracane przez formuły, a nie tylko zakresy w arkuszu. Dzięki temu wybiera jeden element z posortowanej, przefiltrowanej albo unikatowej listy bez wypisywania jej najpierw.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Most expensive | Bread | |
| 2 | Apple | Fruit | $1.20 | Second | Pear | |
| 3 | Pear | Fruit | $1.50 | Cheapest | Carrot | |
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
SORTUJ.WEDŁUG (SORTBY) zwraca pięć produktów uporządkowanych według ceny, a INDEKS bierze element 1 (Bread), element 2 (Pear) albo, z sortowania rosnącego, element 1 (Carrot). W polskim Excelu formuła z F1 to =INDEKS(SORTUJ.WEDŁUG(A2:A6;C2:C6;-1);1). Zmień cenę Milk na 3, a stanie się najdroższym produktem. Jeśli rozlana lista już jest w arkuszu, na przykład w H2, Excel 2021 i Microsoft 365 pozwalają napisać =INDEKS(H2#;2), aby dostać jej drugi element.
Ćwiczenie: suma wybranego miesiąca
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar | Month number | Total | |
| 2 | North | 4,200 | 3,900 | 4,800 | 1 | ||
| 3 | South | 3,100 | 3,600 | 3,300 | |||
| 4 | East | 5,200 | 4,700 | 5,600 | |||
| 5 | West | 2,800 | 3,000 | 3,400 |
Twoja kolej: W G2 zwróć sumę miesiąca, którego numer jest w F2 (1 = Jan, 2 = Feb, 3 = Mar), używając funkcji INDEKS.
Najczęściej zadawane pytania
Co robi funkcja INDEKS w Excelu?
Zwraca wartość z danej pozycji w zakresie: =INDEKS(A2:C6;3;2) zwraca wartość z trzeciego wiersza i drugiej kolumny A2:C6. Pozycje liczy się od lewej górnej komórki zakresu, a nie od wiersza 1 arkusza.
Jak pobrać ostatnią wartość z kolumny funkcją INDEKS?
Jako numer wiersza podaj liczbę wypełnionych komórek: =INDEKS(B2:B100;ILE.NIEPUSTYCH(B2:B100)) zwraca ostatnią wartość kolumny bez przerw. Gdy są przerwy, =WYSZUKAJ(2;1/(B2:B100<>"");B2:B100) zwraca ostatnią niepustą wartość.
Dlaczego INDEKS zwraca #ADR!?
Numer wiersza albo kolumny jest większy niż zakres. =INDEKS(A2:A6;7) prosi o siódmy element zakresu z pięciu komórek i zwraca #ADR!.
Jak zwrócić całą kolumnę funkcją INDEKS?
Jako numer wiersza podaj 0: =INDEKS(B2:D5;0;2) zwraca całą drugą kolumnę. Obejmij ją funkcją, aby ją zsumować, jak w =SUMA(INDEKS(B2:D5;0;2)), albo pozwól jej się rozlać w Excelu 2021 i Microsoft 365.