Spis treści
VLOOKUP jest bardzo popularną funkcją w Excelu, która odnosi się do pionowego lookupu.Możemy użyć wbudowanego VLOOKUP lub możemy nawet stworzyć własne formuły, które będą działać jako pionowy lookup, aby zwrócić wartość z bardziej dynamicznymi kryteriami. W tym artykule pokażę, jak znaleźć ostatnią wartość w kolumnie za pomocą VLOOKUP w Excelu.
Pobierz Zeszyt ćwiczeń
Pobierz skoroszyt Excela, który wykorzystaliśmy do przygotowania tego artykułu.
VLOOKUP Ostatnia wartość w kolumnie.xlsxUżycie funkcji VLOOKUP do znalezienia ostatniej wartości w kolumnie
Najpierw zapoznajmy się z naszym skoroszytem. W tym arkuszu danych użyłem 3 kolumny oraz 10 rzędów przedstawienie kwot sprzedaży niektórych sprzedawców według odpowiednich dat.
W tej metodzie znajdziemy ostatnie wystąpienie wartości za pomocą funkcja VLOOKUP . VLOOKUP oznacza Wyszukiwanie pionowe '. Jest to funkcja, która sprawia, że Excel wyszukuje określoną wartość w kolumnie. Tutaj mamy 3 różne kwoty sprzedaży o wartości Bill. Teraz znajdziemy kwotę jego ostatniej sprzedaży w Komórka G5
Kroki :
➦ Aktywuj Komórka G5, wpisz wzór podany poniżej:
=VLOOKUP(F5,C5:D13,2)
➦ Hit the Wejdź na stronę a otrzymasz ostatnie wystąpienie jego sprzedaży.
Ale VLOOKUP nie da właściwej odpowiedzi dla nieposortowanych danych w trybie przybliżonym. Zobacz poniższy obrazek.
A jeśli użyjemy dokładna zgodność dla czwartego argumentu pokaże pierwsze dopasowanie jak na obrazku poniżej. Ponieważ vlookup używa wyszukiwania binarnego. Więc kiedy znajdzie wartość większą niż wartość lookup, wtedy wraca do poprzedniej wartości, aby pokazać, zobacz to na obrazku poniżej.
Tak więc, aby przezwyciężyć tę sytuację dla nieposortowanych danych, aby znaleźć ostatnie wystąpienie, będziemy musieli użyć funkcji lookup lub innych połączonych formuł. Omówimy te metody teraz w kolejnych sekcjach.
Alternatywy dla funkcji VLOOKUP do znalezienia ostatniej wartości w kolumnie
Teraz zastosujemy cztery alternatywne metody, aby znaleźć ostatnią wartość w kolumnie.
Metoda 1: Użyj funkcji LOOKUP aby znaleźć ostatnią wartość w kolumnie
Tutaj znajdziemy ostatnią wartość kolumny z funkcja LOOKUP w Excelu. LOOKUP Funkcja służy do przeglądania pojedynczej kolumny lub wiersza w celu znalezienia konkretnej wartości z tego samego miejsca w drugiej kolumnie lub wierszu. Znajdę tutaj ostatnią kwotę sprzedaży w Komórka G4.
Kroki:
➦ Aktywuj Komórka G4.
➦ Wpisz wzór podany poniżej:
=LOOKUP(2,1/(D:D""),D:D)
➦ Następnie naciśnij przycisk Wejdź na stronę a otrzymasz ostatnią wartość.
👉 Podział formuły:
➥ D:D""
Tutaj sprawdzi, czy komórki w Kolumna D są puste lub nie. Zwróci on jako-
{FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE.....}
➥ 1/(D:D"")
Podzieliliśmy się 1 przez wynik. Ponieważ FALSE oznacza 0 a TRUE oznacza 1 więc wynik będzie następujący:
{#DIV/0!!!;#DIV/0!!!;1;1;1;1;1;1;1;1;#DIV/0!!!;#DIV/0!}
➥ LOOKUP(2,1/(D:D""),D:D)
Ustawiłem wartość lookup 2, ponieważ funkcja lookup znajdzie 2 poprzez kolumnę, kiedy dojdzie do błędu, wtedy powróci do najbliższej wartości 1 i pokaże ten wynik. To zwróci as-.
367
Metoda 2: Użyj funkcji INDEKS i MATCH aby znaleźć ostatnią wartość w kolumnie
Tutaj użyjemy kombinacji INDEX oraz MATCH funkcje. Funkcja INDEX zwraca wartość lub odniesienie do wartości z tablicy lub zakresu. I funkcja MATCH służy do wyszukiwania określonego elementu w zakresie, a następnie zwraca względną pozycję tego elementu w zakresie.
Kroki:
➦ Podany poniżej wzór wpisz w Komórka G5
=INDEX(D5:D13,MATCH(F5,C5:C13,1))
➦ Hit Wejdź na stronę przycisk.
👉 Jak działa formuła:
➥ MATCH(F5,C5:C13,1)
Tutaj funkcja MATCH służy do znalezienia wartości Komórka F5 dla elementów posortowanych w porządku rosnącym z tablicy C5:C13. Ustawienie trzeciego argumentu '1' oznacza przybliżone dopasowanie. Teraz funkcja zwróci jako-.
6
W rzeczywistości pokazuje numer wiersza liczony od pierwszego wpisu.
➥ INDEX(D5:D13,MATCH(F5,C5:C13,1))
Oraz funkcja INDEX da odpowiednią sprzedaż ( D5:D13) według poprzedniego dopasowania z tablicy ( C5:C13) które zwróci jako-.
367
To jest właściwie ostatnie wystąpienie dla Komórka F5
Metoda 3: Połączenie funkcji INDEX, MAX, SUMPRODUCT i ROW, aby znaleźć ostatnią wartość w kolumnie
Teraz wykonamy zadanie za pomocą kombinacji INDEX, MAX, SUMPRODUCT i ROW funkcje. Funkcja ROW znajdzie numery wierszy. SUMPRODUCT jest funkcją, która mnoży zakres komórek lub tablic i zwraca sumę produktów. Funkcja MAX znajdzie maksymalną liczbę. A INDEX Funkcja zwraca wartość lub odwołanie do wartości z tablicy lub zakresu.
Kroki:
➦ Włączenie edycji w Komórka F7
➦ Skopiuj i wklej wzór podany poniżej:
=INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))
➦ I naciśnij przycisk Wejdź na stronę przycisk.
👉 Jak działa formuła:
➥ WIERSZ($B$5:$B$13)
Funkcja ROW wskaże numer wiersza dla tablicy, który zwróci jako-.
{5;6;7;8;9;10;11;12;13}
➥ ($E$7=$B$5:$B$13)
Tutaj Komórka E7 jest naszą wartością lookup, a ta formuła dopasuje ją poprzez tablicę B5:B13 . Wtedy wróci jako-
{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE}
➥ ROW($B$5:$B$13)*($E$7=$B$5:$B$13)
To właśnie mnożenie poprzednich dwóch formuł będzie faktycznie mnożyć odpowiednie numery wierszy. FALSE oznacza 0 oraz TRUE oznacza 1 . Zatem po pomnożeniu zwróci się jako -.
{0;0;0;0;9;0;0;0;13}
➥ MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))
Na stronie MAX Funkcja znajdzie maksymalną wartość z poprzedniego wyniku, który zwróci jako
13
➥ SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4)
Teraz SUMPRODUCT Funkcja służy do znalezienia numeru wiersza w tablicy . Ponieważ nasza lista zaczyna się od 5. rząd dalej, 4 Odjęto od niej pozycję ostatniego wystąpienia. Bill jest 9 na naszej liście, więc formuła zwróci jako-
9 .
➥ INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))
INDEKS Funkcja jest używana do znalezienia sprzedaży dla ostatniego pasującego nazwiska. I zwróci jako-
563
To jest nasze ostatnie wystąpienie dla Bill.
Metoda 4: Użyj Excel VBA, aby znaleźć ostatnie wystąpienie wartości w kolumnie
Jeśli lubisz kodować w Excelu, to ta metoda jest dla Ciebie odpowiednia. Poprzednią operację możemy wykonać również metodą VBA. Przejdźmy przez poniższe kroki, jak możemy to zrobić w prosty sposób.
W tym celu, na początku, zrobię pasek rozwijany dla unikalnych nazw. Następnie zrobię nową funkcję zdefiniowaną przez użytkownika " LastItemLookup " z wykorzystaniem VBA którego użyjemy, aby znaleźć ostatnie wystąpienie.
Krok 1:
➦ Najpierw skopiuj unikalne nazwy z głównego arkusza do nowego arkusza.
Krok 2:
➦ Następnie przejdź do arkusza głównego.Uaktywnij dowolną nową komórkę.Wybrałem E5.
➦ Kliknij Dane> Narzędzia danych> Walidacja danych.
A okno dialogowe pojawi się.
Krok 3:
➦ Wybierz Wykaz od Pozwól bar.
➦ Następnie naciśnij przycisk otwórz ikona z Źródło bar.
Krok 4:
➦ Po tym przejdź do swojego nowego arkusza i wybierz unikalne nazwy.
➦ Prasa OK
Zob. strzałka w dół znak jest widoczny po prawej stronie tej komórki. Klikając tutaj możemy wybrać dowolną nazwę. Zaoszczędzi to nasz czas, ponieważ nie będziemy musieli za każdym razem wpisywać nazw.
Teraz stworzymy nową funkcję o nazwie LastItemLookup z programem Excel VBA.
Krok 5:
➦ R iight-click myszką na nazwie arkusza.
➦ Wybierz Wyświetl kod od menu kontekstowe .
A VBA otworzy się okno.
Krok 6:
➦ Wpisz kody podane poniżej:
Option Explicit Sub vlookup_last() End Sub Function LastItemLookup(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer) Dim x As Long For x = LookupRange.Columns(1).Cells.Count To 1 Step -1 If Lookupvalue = LookupRange.Cells(x, 1) Then LastItemLookup = LookupRange.Cells(x, ColumnNumber) Exit Function End If Next x End Function.
Krok 7:
➦ Następnie naciśnij przycisk play, aby uruchomić kody. A okno dialogowe o nazwie Makra pojawi się.
➦ Kliknij Uruchom .
Nasza nowa funkcja jest już gotowa.
Krok 8:
➦ Teraz wróć do swojego arkusza.
➦ Aktywuj Komórka F5
➦ Wpisz do wzoru podanego poniżej nową funkcję.
=LastItemLookup(E5,B5:C13,2)
➦ Prasa Wejdź na stronę aby uzyskać wynik ostatniego wystąpienia dla Ron .
Teraz, gdy wybierzesz dowolne nazwisko sprzedawcy, otrzymasz jego odpowiednią wartość ostatniego wystąpienia.
Wniosek
Mam nadzieję, że wszystkie opisane powyżej metody będą wystarczająco dobre, aby vlookupować ostatnią wartość w kolumnie. Zapraszam do zadawania wszelkich pytań w sekcji komentarzy i proszę o opinie