Pobieranie wartości za pomocą INDEX
Proszę zwrócić wartość z zakresu na podstawie jej pozycji w wierszu i kolumnie.
Pobieranie wartości za pomocą INDEX to bezpłatna lekcja Excel Formulas Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Excel Formulas Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Excel Formulas Academy zawiera 4 lekcji w sumie.
Poznaj funkcję INDEX
Funkcja INDEX odpowiada na proste pytanie: „Jaka wartość znajduje się na określonej pozycji w zakresie?”. Należy podać blok komórek i numer wiersza, a funkcja zwróci wartość znajdującą się w tym miejscu.
Zakres można wyobrazić sobie jako ponumerowaną listę. INDEX działa tak, jakby powiedzieć: „Podaj element numer 3”. Na tym etapie funkcja nie wyszukuje jeszcze niczego po nazwie — po prostu pobiera wartość na podstawie pozycji.
Dzięki temu INDEX jest idealnym partnerem do pobierania wartości, gdy wiadomo już, gdzie się znajdują.
Podstawowa składnia
Najprostsza postać funkcji INDEX wymaga podania dwóch informacji:
- array — zakres komórek, w którym należy szukać
- row_num — numer wiersza z tego zakresu, który należy zwrócić
Zatem =INDEX(B2:B6, 3) oznacza: „Z zakresu B2:B6 zwróć wartość znajdującą się na 3. pozycji”. Jeśli w zakresie B2:B6 znajdują się imiona, funkcja zwróci trzecie imię.
Numer wiersza jest liczony wewnątrz zakresu, a nie od góry arkusza.
=INDEX(B2:B6, 3)Zliczanie wewnątrz zakresu
Na początku łatwo się w tym pogubić. Jeśli zakres zaczyna się od wiersza 2, komórka w wierszu 2 znajduje się na pozycji 1, a nie 2.
Załóżmy, że zakres B2:B6 zawiera wartości: Apple, Banana, Cherry, Date, Fig. Pozycja 1 to Apple (w komórce B2), pozycja 2 to Banana, a pozycja 3 to Cherry.
Dlatego =INDEX(B2:B6, 3) zwraca wartość Cherry. Pozycja jest zawsze liczona względem początku podanego zakresu.
=INDEX(B2:B6, 3)Przykład krok po kroku
Załóżmy, że w kolumnie A znajdują się imiona pracowników, a Państwo chcą pobrać czwarte z nich. Dane znajdują się w zakresie A2:A10.
Należy wpisać =INDEX(A2:A10, 4). Funkcja INDEX odlicza cztery pozycje od komórki A2 i zwraca imię znajdujące się w komórce A5.
Proszę zauważyć, że nie trzeba było wpisywać żadnego imienia. Funkcja INDEX nie bierze pod uwagę tego, jaka jest wartość, lecz tylko tego, gdzie się znajduje. Właśnie dlatego tak dobrze współpracuje z funkcjami, które znajdują pozycje za Państwa.
=INDEX(A2:A10, 4)Dodawanie numeru kolumny
Funkcja INDEX ma również pełniejszą, dwuwymiarową postać, używaną wtedy, gdy zakres obejmuje kilka kolumn:
=INDEX(array, row_num, column_num)
W tej postaci należy określić zarówno wiersz, jak i kolumnę wewnątrz bloku. Na przykład =INDEX(A2:C10, 4, 2) zwraca wartość znajdującą się w 4. wierszu i 2. kolumnie tego bloku.
Obie liczby są liczone od lewego górnego rogu podanego zakresu.
=INDEX(A2:C10, 4, 2)Wybieranie komórki w siatce
Wyobraźmy sobie niewielką tabelę w zakresie A2:C5, w której kolumna A zawiera region, kolumna B produkt, a kolumna C sprzedaż. Chcą Państwo pobrać wartość sprzedaży z 3. wiersza danych.
Sprzedaż znajduje się w 3. kolumnie, a 3. wiersz danych ma pozycję 3. Należy więc wpisać =INDEX(A2:C5, 3, 3).
Funkcja INDEX przechodzi do 3. wiersza i 3. kolumny tego bloku, po czym zwraca pojedynczą wartość sprzedaży. Jedna formuła wskazuje dokładne przecięcie.
=INDEX(A2:C5, 3, 3)Zwracanie całego wiersza lub kolumny
Jeśli jedną z liczb ustawią Państwo na 0 (lub w wielu przypadkach ją pominą), funkcja INDEX zwróci cały wiersz albo całą kolumnę zamiast pojedynczej komórki.
=INDEX(A2:C5, 0, 2) zwraca całą 2. kolumnę bloku. W nowoczesnych arkuszach kalkulacyjnych wynik rozlewa się na wiele komórek.
Jest to przydatne, gdy trzeba przekazać całej kolumny innej funkcji, a nie tylko jednej wartości.
=INDEX(A2:C5, 0, 2)INDEX z pojedynczą kolumną
Gdy zakres ma szerokość tylko jednej kolumny, można całkowicie pominąć argument kolumny. Funkcja INDEX przyjmuje wtedy kolumnę 1.
Dlatego dla cen w zakresie C2:C20 formuła =INDEX(C2:C20, 7) po prostu zwraca siódmą cenę. Nie trzeba podawać numeru kolumny.
Podobnie w przypadku pojedynczego wiersza wartości, takiego jak E1:J1, formuła =INDEX(E1:J1, 1, 4) zwraca czwartą wartość w tym wierszu. Funkcja INDEX dopasowuje się do kształtu danych.
=INDEX(C2:C20, 7)Dlaczego pozycja jest lepsza niż wpisywanie na stałe
Mogą się Państwo zastanawiać, dlaczego nie wpisać bezpośrednio =A5. Zaletą funkcji INDEX jest to, że pozycja może być obliczeniem albo odwołaniem do komórki, a nie tylko stałą liczbą.
Na przykład =INDEX(A2:A100, D1) zwraca element z wiersza o numerze zapisanym w komórce D1. Po zmianie D1 na 5 funkcja INDEX zwróci piąty element, a po zmianie na 20 — dwudziesty.
Właśnie to zmienia INDEX z ciekawostki w dynamiczne narzędzie wyszukiwania.
=INDEX(A2:A100, D1)Realistyczny przypadek użycia
Załóżmy, że w zakresie A2:A11 znajduje się ranking, a w komórce F1 umieszczono listę rozwijaną, z której użytkownik wybiera numer miejsca od 1 do 10.
Należy wpisać =INDEX(A2:A11, F1). Gdy ktoś wybierze 1 w komórce F1, zobaczy najlepszego gracza, a wybranie 3 pokaże gracza zajmującego trzecie miejsce.
Formuła się nie zmienia — zmienia się tylko dane wejściowe. To podstawa każdego elastycznego wyszukiwania, które poznają Państwo w dalszej części.
=INDEX(A2:A11, F1)Uważaj na pozycje poza zakresem
Jeśli poproszą Państwo funkcję INDEX o pozycję, która nie istnieje, pojawi się błąd #REF!. W przypadku zakresu zawierającego 5 elementów próba pobrania pozycji 6 zakończy się błędem.
Na przykład =INDEX(A2:A6, 9) zwraca #REF!, ponieważ w zakresie obejmującym 5 wierszy nie ma dziewiątego elementu.
Numer pozycji powinien mieścić się w rozmiarze zakresu. Gdy później będą Państwo przekazywać pozycje z funkcji MATCH, taki błąd będzie występował rzadko, ale warto go rozpoznawać.
=INDEX(A2:A6, 9)Szybki test
Sprawdź swoją wiedzę na temat sposobu, w jaki funkcja INDEX zlicza pozycje.
Podsumowanie: INDEX zwraca według pozycji
Dowiedzieli się Państwo, że funkcja INDEX pobiera wartość na podstawie jej pozycji w zakresie:
=INDEX(array, row_num)dla pojedynczej kolumny lub wiersza=INDEX(array, row_num, column_num)dla bloku dwuwymiarowego- Pozycje są liczone od początku zakresu, dlatego pierwsza komórka ma pozycję 1
- Pozycja może być liczbą, odwołaniem do komórki lub obliczeniem, dzięki czemu INDEX działa dynamicznie
W następnej części poznają Państwo funkcję MATCH, która automatycznie znajduje te pozycje.
=INDEX(A2:A11, F1)Często zadawane pytania
Czy lekcja „Pobieranie wartości za pomocą INDEX” jest bezpłatna?
Tak — pełny tekst „Pobieranie wartości za pomocą INDEX” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Excel Formulas Academy, przejdź na CoddyKit PRO. Kurs Excel Formulas Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pobieranie wartości za pomocą INDEX”?
Proszę zwrócić wartość z zakresu na podstawie jej pozycji w wierszu i kolumnie. Ćwiczysz Excel Formulas Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Excel Formulas Academy?
Nie wymagamy żadnego doświadczenia. Excel Formulas Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Pobieranie wartości za pomocą INDEX”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Excel Formulas Academy?
Tak. Każda lekcja Excel Formulas Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Pobieranie wartości za pomocą INDEX
- Znajdowanie pozycji za pomocą MATCH
- Łączenie INDEX i MATCH
- Dlaczego INDEX-MATCH przewyższa VLOOKUP