Spis treści
Samouczek wyjaśnia wektorowe i tablicowe formy funkcji LOOKUP w Excelu oraz demonstruje typowe i nietrywialne zastosowania LOOKUP w Excelu na przykładach formuł.
Jedno z najczęstszych pytań, które raz na jakiś czas zadaje każdy użytkownik Excela brzmi: " Jak sprawdzić wartość w jednym arkuszu i wyciągnąć pasującą wartość do innego arkusza? ". Oczywiście może istnieć wiele odmian podstawowego scenariusza: możesz szukać najbliższego dopasowania, a nie dokładnego dopasowania, możesz chcieć wyszukiwać pionowo w kolumnie lub poziomo w wierszu, oceniać jedno lub wiele kryteriów itp. Jednak istota jest taka sama - musisz wiedzieć, jak szukać w Excelu.
Microsoft Excel udostępnia garść różnych sposobów na wykonanie lookup'u. Na początek poznajmy funkcję, która jest przeznaczona do obsługi najprostszych przypadków lookup'u pionowego i poziomego. Jak łatwo się domyślić, mówię o funkcji LOOKUP.
Funkcja LOOKUP w Excelu - składnia i zastosowania
Na najbardziej podstawowym poziomie funkcja LOOKUP w programie Excel wyszukuje wartość w jednej kolumnie lub wierszu i zwraca pasującą wartość z tej samej pozycji w innej kolumnie lub wierszu.
W programie Excel istnieją dwie formy LOOKUP: Vector oraz Array Każda forma jest wyjaśniona indywidualnie poniżej.
Funkcja LOOKUP w Excelu - forma wektorowa
W tym kontekście, a wektor W konsekwencji, używasz wektorowej formy LOOKUP do przeszukiwania jednego wiersza lub jednej kolumny danych dla określonej wartości i wyciągania wartości z tej samej pozycji w innym wierszu lub kolumnie.
Składnia vector Lookup jest następująca:
LOOKUP(lookup_value, lookup_vector, [result_vector])Gdzie:
- Lookup_value (wymagane) - wartość do wyszukania, może to być liczba, tekst, wartość logiczna TRUE lub FALSE, albo odwołanie do komórki zawierającej wartość lookup.
- Lookup_vector (wymagane) - zakres jednorzędowy lub jednokolumnowy do przeszukania, musi być posortowany w wzrastający .
- Wynik_wektor (opcjonalnie) - zakres jednorzędowy lub jednokolumnowy, z którego ma być zwrócony wynik - wartość w tej samej pozycji co wartość lookup. Wynik_wektor musi być ten sam rozmiar jako lookup_range Jeśli pominięto, wynik jest zwracany z lookup_vector .
Poniższe przykłady demonstrują dwie proste formuły Lookup w działaniu.
Formuła Vertical Lookup - wyszukiwanie w zakresie jednokolumnowym
Załóżmy, że masz listę sprzedawców w kolumnie D (D2:D5) i produkty, które sprzedali w kolumnie E (E2:E5). Tworzysz pulpit nawigacyjny, w którym użytkownicy będą wpisywać nazwę sprzedawcy w B2 i potrzebujesz formuły, która wyciągnie odpowiadający mu produkt w B3. Zadanie to można łatwo zrealizować za pomocą tej formuły:
=LOOKUP(B2,D2:D5,E2:E5)
Aby lepiej zrozumieć argumenty, proszę spojrzeć na ten zrzut ekranu:
Formuła Horizontal Lookup - wyszukiwanie w zakresie jednego wiersza
Jeśli dane źródłowe mają układ poziomy, tzn. wpisy znajdują się w wierszach, a nie w kolumnach, wówczas należy podać zakres jednorzędowy w polu lookup_vector oraz wynik_wektor argumenty, jak to:
=LOOKUP(B2,E1:H1,E2:H2)
W drugiej części tego samouczka znajdziesz jeszcze kilka przykładów Excel Lookup, które rozwiązują bardziej skomplikowane zadania. W międzyczasie zapamiętaj poniższe proste fakty, które pomogą Ci ominąć ewentualne pułapki i zapobiec częstym błędom.
5 rzeczy, które powinieneś wiedzieć o wektorowej formie LOOKUP w Excelu
- Wartości w lookup_vector powinny być posortowane w wzrastający tj. od najmniejszego do największego lub od A do Z, w przeciwnym razie formuła Lookup w Excelu może zwrócić błąd lub nieprawidłowy wynik.Jeśli musisz wykonać lookup na dane nieposortowane , a następnie użyj opcji INDEX MATCH lub OFFSET MATCH.
- Lookup_vector oraz wynik_wektor musi być jednorzędowa lub jednokolumnowy zakres o tej samej wielkości.
- Funkcja LOOKUP w programie Excel to. bez rozróżniania wielkości liter , nie rozróżnia dużych i małych liter tekstu.
- LOOKUP w Excelu działa na podstawie przybliżone dopasowanie Dokładniej mówiąc, formuła Lookup szuka najpierw dokładnego dopasowania. Jeśli nie może znaleźć dokładnie wartości lookup, szuka wartości następna najmniejsza wartość czyli największa wartość w lookup_vector która jest mniejsza lub równa lookup_value .
Na przykład, jeśli twoja wartość lookup to "5", formuła przeszuka ją najpierw. Jeśli "5" nie zostanie znalezione, przeszuka "4". Jeśli "4" nie zostanie znalezione, przeszuka "3" i tak dalej.
- Jeśli lookup_value jest mniejszy niż najmniejsza wartość w lookup_vector , Excel LOOKUP zwraca błąd #N/A.
Funkcja LOOKUP w Excelu - forma tablicowa
Postać tablicowa funkcji LOOKUP wyszukuje określoną wartość w pierwszej kolumnie lub wierszu tablicy i pobiera wartość z tej samej pozycji w ostatniej kolumnie lub wierszu tablicy.
Tablica Lookup ma 2 argumenty, z których oba są wymagane:
LOOKUP(lookup_value, array)Gdzie:
- Lookup_value - wartość, którą należy wyszukać w tablicy.
- Array - zakres komórek, w których chcemy wyszukać wartość lookup. Wartości w pierwszej kolumnie lub wierszu tablicy (w zależności od tego, czy robimy V-lookup czy H-lookup) muszą być posortowane rosnąco. Wielkie i małe litery są uznawane za równoważne.
Na przykład, mając nazwy sprzedawców umieszczone w pierwszej kolumnie tablicy (kolumna A) i daty zamówień w ostatniej kolumnie tablicy (kolumna C), można użyć następującej formuły, aby wyszukać nazwę i wyciągnąć pasującą datę:
=LOOKUP(B2,D2:F5)
Uwaga. Postaci tablicowej funkcji LOOKUP w Excelu nie należy mylić z formułami tablicowymi Excela. Mimo że operuje ona na tablicach, LOOKUP jest nadal zwykłą formułą, którą kończy się w zwykły sposób, naciskając klawisz Enter.
4 rzeczy, które powinieneś wiedzieć o formie tablicowej LOOKUP w Excelu
- Jeśli macierz ma więcej wierszy niż kolumn lub taką samą liczbę kolumn i wierszy, formuła Lookup wyszukuje w pierwszej kolumnie (lookup poziomy).
- Jeśli macierz ma więcej kolumn niż wierszy , Excel LOOKUP wyszukuje w pierwszym rzędzie (vertical lookup).
- Jeśli formuła nie może znaleźć wartości lookup, używa największa wartość w tablicy, która jest mniejsza lub równa lookup_value .
- Jeśli wartość lookup jest mniejsza niż najmniejsza wartość w pierwszej kolumnie lub wierszu tablicy (w zależności od wymiarów tablicy), formuła Lookup zwraca błąd #N/A.
Ważna uwaga! Funkcjonalność formularza tablicy LOOKUP w Excelu jest ograniczona i nie zalecamy korzystania z niego. Zamiast tego można użyć funkcji VLOOKUP lub HLOOKUP, które są ulepszonymi wersjami do wykonywania odpowiednio pionowego i poziomego looku.
Jak używać funkcji LOOKUP w Excelu - przykłady formuł
Chociaż istnieją bardziej rozbudowane funkcje do wyszukiwania i dopasowywania w Excelu (co jest przedmiotem naszego następnego samouczka), LOOKUP przydaje się w wielu sytuacjach, a poniższe przykłady demonstrują kilka nietrywialnych zastosowań. Należy pamiętać, że wszystkie poniższe formuły wykorzystują wektorową formę LOOKUP Excela.
Wyszukaj wartość w ostatniej niepustej komórce w kolumnie
Jeśli masz kolumnę dynamicznie zaludnionych danych, możesz chcieć wybrać ostatnio dodany wpis, czyli uzyskać ostatnią niepustą komórkę w kolumnie. W tym celu użyj tej ogólnej formuły:
LOOKUP(2, 1/( kolumna ""), kolumna )W powyższej formule wszystkie argumenty oprócz odwołania do kolumny są stałe. Tak więc, aby pobrać ostatnią wartość w określonej kolumnie, wystarczy podać odpowiednie odwołanie do kolumny. Na przykład, aby pobrać wartość ostatniej niepustej komórki w kolumnie A, użyj tej formuły:
=LOOKUP(2, 1/(A:A""), A:A)
Aby uzyskać ostatnią wartość z innych kolumn, zmodyfikuj odwołania do kolumn, jak pokazano na poniższym zrzucie ekranu - pierwsze odwołanie to kolumna, która ma być sprawdzana pod kątem pustych / niepustych komórek, a drugie odwołanie to kolumna, z której ma zostać zwrócona wartość:
Jak działa ta formuła
W lookup_value argument, podajesz 2 lub dowolną inną liczbę większą od 1 (za chwilę zrozumiesz dlaczego).
W lookup_vector argument, wstawiasz takie wyrażenie: 1/(A:A"")
- Najpierw wykonujemy operację logiczną A:A"", która porównuje każdą komórkę w kolumnie A z pustym łańcuchem i zwraca TRUE dla pustych komórek i FALSE dla niepustych komórek. W powyższym przykładzie formuła w F2 zwraca taką tablicę: {TRUE;TRUE;TRUE;TRUE;FALSE...}.
- Następnie dzielimy liczbę 1 przez każdy element powyższej tablicy. Z TRUE równym 1 i FALSE równym 0, otrzymujemy nową tablicę składającą się z jedynek i błędów #DIV/0! (wynik dzielenia przez 0), i ta tablica jest używana jako lookup_vector W tym przykładzie jest to {1;1;1;#DIV/0!...}
Teraz, jak to się dzieje, że formuła zwraca ostatnią niepustą wartość w kolumnie, biorąc pod uwagę, że lookup_value nie pasuje do żadnego elementu lookup_vector Kluczem do zrozumienia logiki jest to, że Excel LOOKUP wyszukuje z dopasowaniem przybliżonym, tj. gdy dokładna wartość lookup nie zostanie znaleziona, dopasowuje następną największą wartość w lookup_vector który jest mniejszy niż lookup_value W naszym przypadku, lookup_value wynosi 2, a największa wartość w lookup_vector jest 1, więc LOOKUP dopasowuje ostatnią 1 w tablicy, która jest ostatnią niepustą komórką!
W wynik_wektor argument, odwołujesz się do kolumny, z której chcesz zwrócić wartość, a twoja formuła Lookup pobierze wartość w tej samej pozycji, co wartość lookup.
Wskazówka. Jeśli chcesz uzyskać numer wiersza trzymając ostatnią wartość, a następnie użyj funkcji ROW, aby ją odzyskać.Na przykład: =LOOKUP(2,1/(A:A""),ROW(A:A))
Wyszukaj wartość w ostatniej niepustej komórce w wierszu
Jeśli twoje dane źródłowe są ułożone w wierszach, a nie kolumnach, możesz uzyskać wartość ostatniej niepustej komórki za pomocą tej formuły:
LOOKUP(2, 1/( wiersz ""), wiersz )W rzeczywistości ta formuła to nic innego jak lekka modyfikacja poprzedniej formuły, z tą różnicą, że używasz odwołania do wiersza zamiast odwołania do kolumny.
Na przykład, aby uzyskać wartość ostatniej niepustej komórki w wierszu 1, użyj tej formuły:
=LOOKUP(2, 1/(1:1""), 1:1)
Poniższy zrzut ekranu przedstawia wynik:
Uzyskaj wartość związaną z ostatnim wpisem w wierszu
Przy odrobinie kreatywności powyższą formułę można łatwo dostosować do rozwiązywania innych podobnych zadań. Na przykład można jej użyć do uzyskania wartości związanej z ostatnią instancją określonej wartości w wierszu. Może to brzmieć nieco mętnie, ale poniższy przykład ułatwi zrozumienie.
Zakładając, że mamy tabelę zbiorczą, w której kolumna A zawiera nazwy sprzedawców, a kolejne kolumny zawierają pewnego rodzaju dane dla każdego miesiąca. W tym przykładzie komórka zawiera "tak", jeśli dany sprzedawca zamknął przynajmniej jedną transakcję w danym miesiącu. Naszym celem jest uzyskanie miesiąca związanego z ostatnim wpisem "tak" w wierszu.
Zadanie można rozwiązać stosując następującą formułę LOOKUP:
=LOOKUP(2, 1/(B2:H2="tak"), $B$1:$H$1)
Logika formuły jest w zasadzie taka sama jak opisana w pierwszym przykładzie. Różnica polega na tym, że używasz operatora "równa się" ("=") zamiast "nie równa się" ("") i operujesz na wierszach zamiast na kolumnach.
Poniższy zrzut ekranu demonstruje wynik:
Lookup jako alternatywa dla zagnieżdżonych IF
We wszystkich formułach Lookup, które do tej pory omawialiśmy lookup_vector oraz wynik_wektor argumenty były reprezentowane za pomocą odwołań do zakresów. Jednak składnia funkcji LOOKUP w Excelu pozwala na dostarczenie wektorów w postaci pionowej stałej tablicowej, co umożliwia powielenie funkcjonalności zagnieżdżonego IF za pomocą bardziej kompaktowej i czytelnej formuły.
Powiedzmy, że masz listę skrótów w kolumnie A i chcesz je zastąpić pełnymi nazwami, gdzie "C" oznacza "Ukończono", "D" to "Rozwój, a "T" to "Testowanie". Zadanie to można zrealizować za pomocą następującej zagnieżdżonej funkcji JEŻELI:
=IF(A2="c", "Zakończono", IF(A2="d", "Rozwój", IF(A2="t", "Testowanie", ""))
Albo, używając tej formuły Lookup:
=LOOKUP(A2, {"c"; "d"; "t"}, {"Zakończono"; "Rozwój"; "Testowanie"})
Jak widać na poniższym zrzucie ekranu, obie formuły dają identyczne wyniki:
Uwaga. Aby formuła Lookup programu Excel działała poprawnie, wartości w lookup_array powinny być posortowane od A do Z lub od najmniejszego do największego.
Jeśli wyciągasz wartości z tabeli lookup, to możesz osadzić funkcję Vlookup w lookup_value argumentu, aby uzyskać dopasowanie.
Zakładając, że wartość lookup znajduje się w komórce E2, tabela lookup to A2:C7, a kolumna zainteresowania ("Status") jest 3 kolumną w tabeli lookup, poniższa formuła wykonuje zadanie:
=LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c"; "d"; "t"}, {"Completed"; "Development"; "Testing"})
Jak pokazano na poniższym zrzucie ekranu, formuła pobiera status projektu z tabeli lookup i zastępuje skrót odpowiednim słowem:
Wskazówka. Jeśli używasz programu Excel 2016 w ramach subskrypcji Office 365, możesz użyć funkcji SWITCH do podobnych celów.
Mam nadzieję, że te przykłady rzuciły trochę światła na to, jak działa funkcja LOOKUP. Aby lepiej zrozumieć formuły, zapraszamy do pobrania tych przykładów Excel Lookup. W następnym tutorialu omówimy kilka innych sposobów na zrobienie lookupu w Excelu i wyjaśnimy, która formuła Lookup jest najlepsza do użycia w jakiej sytuacji. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu w przyszłym tygodniu!