Wyszukiwanie wierszy za pomocą HLOOKUP
Proszę wyszukiwać wartości wzdłuż wiersza zamiast w dół kolumny.
Wyszukiwanie wierszy za pomocą HLOOKUP to bezpłatna lekcja Excel Formulas Academy na CoddyKit. To lekcja 3 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.
Poznajemy funkcję HLOOKUP
HLOOKUP to poziomy odpowiednik funkcji VLOOKUP. Litera H oznacza Horizontal (poziomo): zamiast przeszukiwać kolumnę, funkcja przeszukuje górny wiersz tabeli, a następnie zwraca wartość z dalszej części tej samej kolumny.
Funkcji HLOOKUP należy używać, gdy dane są ułożone poziomo, a etykiety znajdują się w wierszu zamiast w kolumnie.
=HLOOKUP(value, table, row_index_num, [range_lookup])Cztery argumenty
Funkcja HLOOKUP działa podobnie do VLOOKUP, z jedną kluczową zmianą. Jej argumenty to:
- lookup_value — wartość wyszukiwana w górnym wierszu
- table_array — zakres komórek
- row_index_num — numer wiersza, z którego należy zwrócić wartość (liczony od góry)
- [range_lookup] — TRUE oznacza dopasowanie przybliżone, a FALSE dokładne
Proszę zauważyć, że trzeci argument jest teraz numerem wiersza, a nie kolumny, ponieważ dane są ułożone pionowo w dół.
=HLOOKUP(lookup_value, table_array, row_index_num, FALSE)Przykładowa tabela ułożona poziomo
Wyobraźmy sobie kwartalną tabelę, w której miesiące biegną w poprzek wiersza 1 w zakresie A1:D3:
- Wiersz 1: Jan, Feb, Mar, Apr
- Wiersz 2 (Sales): 100, 150, 120, 200
- Wiersz 3 (Costs): 60, 70, 65, 90
To górny wiersz (miesiące) jest przeszukiwany przez funkcję HLOOKUP. Wiersze poniżej zawierają dane, które chcemy zwrócić.
Pierwsza funkcja HLOOKUP
Aby znaleźć wartość sprzedaży dla miesiąca Mar, funkcja HLOOKUP przeszukuje górny wiersz w poszukiwaniu wartości „Mar”, a następnie zwraca wartość z wiersza 2 (Sales):
Mówiąc prościej: należy wyszukać "Mar" w górnym wierszu zakresu A1:D3 i zwrócić wartość z 2. wiersza, używając dopasowania dokładnego. Wynik to 120.
=HLOOKUP("Mar", A1:D3, 2, FALSE)Liczenie numeru wiersza
Wartość row_index_num jest liczona od góry zakresu table_array, a nie od wiersza 1 arkusza.
W naszym zakresie A1:D3 wiersze mają następujące numery:
- Wiersz 1 = miesiące (wiersz wyszukiwania)
- Wiersz 2 = Sales
- Wiersz 3 = Costs
Aby zwrócić wartość Costs dla danego miesiąca, należy użyć numeru wiersza 3. Indeks 1 zwraca po prostu wyszukaną etykietę.
=HLOOKUP("Feb", A1:D3, 3, FALSE)Wyszukiwanie na podstawie komórki
Podobnie jak w przypadku funkcji VLOOKUP, zwykle wskazuje się komórkę zamiast wpisywać etykietę. Jeśli miesiąc zostanie wybrany w komórce F1, należy odwołać się do niej bezpośrednio.
Zmiana wartości F1 na inny miesiąc natychmiast aktualizuje wynik. Dzięki temu HLOOKUP świetnie sprawdza się w przypadku niewielkiego selektora odczytującego dane z poziomej tabeli podsumowującej.
=HLOOKUP(F1, A1:D3, 2, FALSE)HLOOKUP a VLOOKUP
Obie funkcje działają według tej samej zasady, ale są obrócone o 90 stopni:
- VLOOKUP: przeszukuje pierwszą kolumnę w dół, a trzeci argument określa numer kolumny
- HLOOKUP: przeszukuje górny wiersz w poprzek, a trzeci argument określa numer wiersza
Wyboru należy dokonać na podstawie układu danych. Jeśli nagłówki biegną wzdłuż boku, należy użyć VLOOKUP. Jeśli biegną w poprzek u góry, należy użyć HLOOKUP.
Dopasowanie dokładne i przybliżone nadal obowiązuje
Argument range_lookup działa identycznie jak w funkcji VLOOKUP:
- FALSE = dopasowanie dokładne; górny wiersz nie musi być posortowany, a brakujące wartości powodują błąd
#N/A - TRUE = dopasowanie przybliżone; górny wiersz musi być posortowany rosnąco od lewej do prawej
W przypadku wyszukiwania etykiet, takich jak nazwy miesięcy, należy używać FALSE. Wartość TRUE działa w przypadku poziomego wiersza progów, ale rzadko układa się przedziały poziomo.
=HLOOKUP(F1, A1:D3, 2, FALSE)Blokowanie tabeli podczas kopiowania
Jeśli kopiują Państwo funkcję HLOOKUP w poprzek kilku komórek, należy zablokować table_array za pomocą znaków dolara, aby się nie przesuwał. lookup_value należy pozostawić jako odwołanie względne, jeśli powinno zmieniać się wraz z każdą kolumną.
W tym przypadku kopiowanie w prawo pozostawia tabelę w tym samym miejscu, a etykieta wyszukiwania przesuwa się do następnej komórki. Obowiązuje tu ta sama zasada co w przypadku funkcji VLOOKUP, tylko w kierunku poziomym.
=HLOOKUP(B5, $A$1:$D$3, 2, FALSE)Gdy pojawiają się dane poziome
Tabele z układem poziomym pojawiają się częściej, niż można by się spodziewać:
- Modele finansowe, w których lata lub miesiące są kolumnami
- Arkusze wyników z rundami ułożonymi w górnym wierszu
- Importowane raporty, w których okresy znajdują się w wierszu nagłówka
Zamiast transponować całą tabelę, HLOOKUP pozwala przeszukiwać ją bez zmian. Warto jednak pamiętać, że wiele osób woli przechowywać dane pionowo, ponieważ większość funkcji lepiej obsługuje taki układ, a wtedy VLOOKUP lub XLOOKUP pasuje naturalnie.
=HLOOKUP(2024, A1:F4, 3, FALSE)Łączenie HLOOKUP z MATCH
Podobnie jak w przypadku VLOOKUP, wpisanie indeksu wiersza na stałe może być podatne na błędy. Jeśli wstawisz wiersz, indeks przestanie być poprawny. Możesz uczynić go dynamicznym, wyszukując pozycję wiersza za pomocą funkcji MATCH.
W tym przypadku MATCH ustala, w którym wierszu, wśród etykiet w kolumnie A, znajduje się etykieta "Costs", a następnie przekazuje tę liczbę do HLOOKUP. Dzięki temu formuła nadal działa, nawet jeśli wiersze zmienią kolejność. To pierwszy przykład łączenia funkcji wyszukiwania — do tego tematu wrócisz później.
=HLOOKUP(F1, A1:D3, MATCH("Costs", A1:A3, 0), FALSE)Szybki test
Sprawdź, jak dobrze rozumiesz wyszukiwanie poziome.
Podsumowanie: wyszukiwanie w wierszach
Potrafisz już przeszukiwać tabele z układem poziomym:
- HLOOKUP przeszukuje górny wiersz i zwraca wartość z wiersza poniżej
- Trzeci argument to row_index_num, liczony od góry zakresu
- FALSE i TRUE działają tak samo jak w VLOOKUP w przypadku dopasowania dokładnego i przybliżonego
- Podczas kopiowania w poprzek zablokuj tabelę za pomocą
$ - Używaj tej funkcji, gdy nagłówki są ułożone poziomo, a nie pionowo
W następnej części dowiesz się, dlaczego VLOOKUP czasami zawodzi i jak to diagnozować.
=HLOOKUP(F1, $A$1:$D$3, 2, FALSE)Często zadawane pytania
Czy lekcja „Wyszukiwanie wierszy za pomocą HLOOKUP” jest bezpłatna?
Tak — pełny tekst „Wyszukiwanie wierszy za pomocą HLOOKUP” 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 „Wyszukiwanie wierszy za pomocą HLOOKUP”?
Proszę wyszukiwać wartości wzdłuż wiersza zamiast w dół kolumny. Ć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 3 z 4.
Ile czasu zajmuje lekcja „Wyszukiwanie wierszy za pomocą HLOOKUP”?
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
- Jak funkcja VLOOKUP przeszukuje tabelę
- Dopasowanie dokładne a przybliżone
- Wyszukiwanie wierszy za pomocą HLOOKUP
- Dlaczego VLOOKUP czasem zawodzi