Obsah
VLOOKUP je velmi oblíbená funkce v Excelu, která se týká vertikálního vyhledávání. Můžeme použít vestavěnou funkci VLOOKUP nebo si můžeme vytvořit vlastní vzorce, které budou fungovat jako vertikální vyhledávání a vracet hodnoty s dynamičtějšími kritérii. V tomto článku ukážu, jak najít poslední hodnotu ve sloupci pomocí funkce VLOOKUP v aplikaci Excel.
Stáhněte si knihu Practice Book
Stáhněte si sešit aplikace Excel, který jsme použili při přípravě tohoto článku.
VLOOKUP Poslední hodnota ve sloupci.xlsxPoužití funkce VLOOKUP k nalezení poslední hodnoty ve sloupci
Nejprve se seznámíme s naším sešitem. V tomto datovém listu jsem použil 3 sloupce a 10 řádků prezentovat částky prodejů některých prodejců podle příslušných dat.
V této metodě najdeme poslední výskyt hodnoty pomocí příkazu funkce VLOOKUP . VLOOKUP znamená Vertikální vyhledávání '. Jedná se o funkci, která umožňuje Excelu vyhledat určitou hodnotu ve sloupci. Zde máme 3 různé částky prodeje. Bill. Nyní zjistíme výši jeho posledních tržeb v. Buňka G5
Kroky :
➦ Aktivovat Buňka G5, zadejte níže uvedený vzorec:
=VLOOKUP(F5,C5:D13,2)
➦ Hit the Vstupte na a získáte poslední výskyt jeho prodeje.
Ale VLOOKUP neposkytne správnou odpověď pro nesetříděná data v přibližném režimu. Viz obrázek níže.
A pokud použijeme přesná shoda pro čtvrtý argument se zobrazí první shoda jako na obrázku níže. Protože vlookup používá binární vyhledávání. Takže když najde hodnotu větší než hodnota vyhledávání, pak se vrátí k předchozí hodnotě, kterou zobrazí, viz obrázek níže.
Abychom tedy tuto situaci u neuspořádaných dat překonali a našli poslední výskyt, budeme muset použít vyhledávací funkce nebo jiné kombinované vzorce. Tyto metody si nyní probereme v následujících kapitolách.
Alternativy funkce VLOOKUP pro vyhledání poslední hodnoty ve sloupci
Nyní použijeme čtyři alternativní metody pro zjištění poslední hodnoty ve sloupci.
Metoda 1: Použití funkce LOOKUP k nalezení poslední hodnoty ve sloupci
Zde najdeme poslední hodnotu sloupce s příkazem funkce LOOKUP v Excelu. LOOKUP funkce slouží k prohledání jednoho sloupce nebo řádku a nalezení konkrétní hodnoty ze stejného místa v druhém sloupci nebo řádku. Zde najdu poslední částku prodeje v položce Buňka G4.
Kroky:
➦ Aktivovat Buňka G4.
➦ Zadejte níže uvedený vzorec:
=LOOKUP(2,1/(D:D""),D:D)
➦ Poté stiskněte Vstupte na a zobrazí se poslední hodnota.
👉 Rozdělení vzorců:
➥ D:D""
Zde se zkontroluje, zda buňky v Sloupec D jsou nebo nejsou prázdné. Vrátí se jako-
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE.....}
➥ 1/(D:D"")
Rozdělili jsme 1 podle výsledku. Protože FALSE znamená 0 a TRUE znamená 1 takže výsledek bude následující:
{#DIV/0!;#DIV/0!;#DIV/0!;1;1;1;1;1;1;1;#DIV/0!;#DIV/0!}
➥ LOOKUP(2,1/(D:D""),D:D)
Nastavil jsem hodnotu vyhledávání 2, protože funkce vyhledávání najde 2 prostřednictvím sloupce, když dojde k chybě, pak se vrátí zpět na nejbližší hodnotu 1 a zobrazí tento výsledek. To vrátí jako-
367
Metoda 2: Použití funkcí INDEX a MATCH k nalezení poslední hodnoty ve sloupci
Zde použijeme kombinaci INDEX a MATCH funkce. Funkce INDEX vrací hodnotu nebo odkaz na hodnotu z tabulky nebo rozsahu. A funkce MATCH slouží k vyhledání zadané položky v rozsahu a poté vrací relativní pozici této položky v rozsahu.
Kroky:
➦ Níže uvedený vzorec zadejte do pole Buňka G5
=INDEX(D5:D13,MATCH(F5,C5:C13,1))
➦ Hit Vstupte na tlačítko.
👉 Jak vzorec funguje:
➥ MATCH(F5,C5:C13,1)
Zde funkce MATCH se použije k nalezení hodnoty Buňka F5 pro položky seřazené vzestupně z pole C5:C13. Nastavení třetího argumentu "1" znamená přibližnou shodu. Nyní funkce vrátí jako-
6
Ve skutečnosti se zobrazuje číslo řádku počítané od prvního záznamu.
➥ INDEX(D5:D13,MATCH(F5,C5:C13,1))
A funkce INDEX poskytne odpovídající tržby ( D5:D13) podle předchozí shody z pole ( C5:C13) který vrátí as-
367
To je vlastně poslední výskyt pro Buňka F5
Metoda 3: Kombinace funkcí INDEX, MAX, SUMPRODUCT a ROW pro vyhledání poslední hodnoty ve sloupci
Nyní provedeme úlohu s kombinací INDEX, MAX, SUMPRODUCT a ROW funkce. Funkce ROW zjistí čísla řádků. SUMPRODUCT je funkce, která násobí rozsah buněk nebo polí a vrací součet součinů. Funkce MAX najde maximální číslo. A INDEX funkce vrací hodnotu nebo odkaz na hodnotu z tabulky nebo rozsahu.
Kroky:
➦ Povolit úpravy v Buňka F7
➦ Zkopírujte a vložte níže uvedený vzorec:
=INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4)))
➦ A stiskněte Vstupte na tlačítko.
👉 Jak vzorec funguje:
➥ ŘÁDEK($B$5:$B$13)
Funkce ROW zobrazí číslo řádku pro pole, které se vrátí jako-
{5;6;7;8;9;10;11;12;13}
➥ ($E$7=$B$5:$B$13)
Zde Buňka E7 je naše vyhledávací hodnota a tento vzorec ji porovná s polem B5:B13 . Pak se vrátí jako-
{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE}
➥ ŘÁDEK($B$5:$B$13)*($E$7=$B$5:$B$13)
Právě násobení předchozích dvou vzorců skutečně vynásobí příslušná čísla řádků. FALSE znamená 0 a TRUE znamená 1 . Po vynásobení se tedy vrátí jako-
{0;0;0;0;9;0;0;0;13}
➥ MAX(ŘÁDEK($B$5:$B$13)*($E$7=$B$5:$B$13))
Na stránkách MAX funkce najde maximální hodnotu z předchozího výsledku, který vrátí jako
13
➥ SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4)
Nyní SUMPRODUCT funkce slouží k nalezení čísla řádku v poli . Protože náš seznam začíná od 5. od řádku výše, 4 byla odečtena. Takže pozice posledního výskytu slova Bill je 9 v našem seznamu, takže vzorec vrátí jako-
9 .
➥ INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4)))
INDEX funkce se používá k vyhledání prodeje pro poslední shodné jméno. a vrátí jako-
563
To je náš poslední výskyt pro Bill.
Metoda 4: Použití aplikace Excel VBA k nalezení posledního výskytu hodnoty ve sloupci
Pokud rádi programujete v Excelu, pak je tato metoda vhodná právě pro vás. Předchozí operaci můžeme provést také pomocí metody VBA. Projděme si následující kroky, jak to můžeme snadno provést.
Za tímto účelem nejprve vytvořím rozbalovací panel pro jedinečná jména. Poté vytvořím novou uživatelsky definovanou funkci " LastItemLookup " pomocí VBA který použijeme k nalezení posledního výskytu.
Krok 1:
➦ Nejprve zkopírujte jedinečné názvy z hlavního listu do nového listu.
Krok 2:
➦ Poté přejděte na hlavní list. Aktivujte libovolnou novou buňku. Vybral jsem si. E5.
➦ Klikněte Data> Datové nástroje> Validace dat.
A dialogové okno se objeví.
Krok 3:
➦ Vyberte Seznam z Povolit bar.
➦ Poté stiskněte otevřít z ikony Zdroj: bar.
Krok 4:
➦ Poté přejděte na nový list a vyberte jedinečné názvy.
➦ Tisk OK
Podívejte se na šipka dolů Znak se zobrazí na pravé straně této buňky. Kliknutím zde můžeme vybrat libovolné jméno. Tím ušetříme čas, protože nebudeme muset pokaždé zadávat jména.
Nyní vytvoříme novou funkci s názvem LastItemLookup s aplikací Excel VBA.
Krok 5:
➦ R kliknutí pravým tlačítkem myši myší na název listu.
➦ Vyberte Zobrazit kód z kontextová nabídka .
A VBA otevře se okno.
Krok 6:
➦ Zadejte níže uvedené kódy:
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:
➦ Poté stiskněte tlačítko přehrávání a spusťte kódy. A dialogové okno s názvem Makra se objeví.
➦ Klikněte Spustit .
Naše nová funkce je již připravena.
Krok 8:
➦ Nyní se vraťte k pracovnímu listu.
➦ Aktivovat Buňka F5
➦ Zadejte níže uvedený vzorec s novou funkcí.
=LastItemLookup(E5,B5:C13,2)
➦ Tisk Vstupte na získat výsledek posledního výskytu pro Ron .
Když nyní vyberete jméno prodejce, získáte odpovídající hodnotu jeho posledního výskytu.
Závěr
Doufám, že všechny výše popsané metody budou dostatečně dobře vlookup poslední hodnotu ve sloupci. Neváhejte se zeptat na jakékoli otázky v sekci komentářů a prosím, dejte mi zpětnou vazbu