Obsah
Pokud hledáte způsoby, jak použít kombinaci INDIREKTNÍ a Funkce VLOOKUP v aplikaci Excel , pak pro vás bude tento článek užitečný. Funkce INDIRECT v Excelu pomáhá uživatelům uzamknout zadanou buňku ve vzorci. Proto můžeme upravovat odkazy na buňky ve vzorci, aniž bychom měnili samotný vzorec. Někdy při práci s více databázemi potřebujeme provést dynamický VLOOKUP v těchto databázích pro hodnoty. To můžeme snadno provést pomocí kombinace příkazů INDIREKTNÍ a Funkce VLOOKUP V tomto článku se dozvíme, jak provést NEPŘÍMÉ VYHLEDÁVÁNÍ vzorec.
Rychlé zobrazení
Podívejme se v rychlosti na náš dnešní úkol.
Stáhnout cvičebnici
Kombinace INDIRECT a VLOOKUP.xlsx2020.xlsx
2021.xlsx
3 příklady použití funkce VLOOKUP s funkcí INDIRECT v aplikaci Excel
Zde máme několik seznamů modelů různých mobilních společností pro 2017 , 2018 , 2019 , 2020 a 2021 v různých listech. Pomocí kombinace těchto funkcí získáme z těchto listů naše požadované hodnoty v novém listu.
Pro vytvoření tohoto článku jsme použili Microsoft Excel 365 verze . Můžete však použít jakoukoli jinou verzi, která vám vyhovuje.
Příklad-1: Extrakce hodnot z různých listů pomocí funkcí INDIRECT a VLOOKUP
Zde je scénář pro použití kombinace těchto funkcí. Uvažujte, že máte zadání, ve kterém jsou zadány názvy některých mobilních telefonů a údaje o jejich modelu ze souboru 2017-2021 . Nyní musíte tato jména a jejich vzor systematicky sestavit v novém pracovním listu. INDIREKTNÍ VLOOKUP vzorec to zvládne snadno. Naučme se to!
Vytvořili jsme tabulku v novém pracovním listu. Tato tabulka obsahuje následující údaje "Název mobilního telefonu" sloupec a související rok "2017", "2018", "2019", "2020" a "2021". Potřebujeme získat model z těchto let z jejich příslušných listů pro daný rok. "Název mobilního telefonu" .
Kroky :
- Nyní použijeme "NEPŘÍMÉ VYHLEDÁVÁNÍ" vzorec.
Obecný vzorec je,
=VLOOKUP(lookup_value, INDIRECT("Table_Array"), col_index,0)
- Nyní vložte hodnoty do vzorce v buňce C5 a konečný vzorec je
=VLOOKUP($B5,INDIRECT("'"&C$4&"'!"& "B5:C9"),2,FALSE)
Rozdělení vzorců
- Lookup_value je $B4
- Table_array se vytvoří pomocí této funkce INDIRECT("'"&C$3&"'!"& "B4:C8"). Smíšený odkaz C$3 odkazuje na záhlaví sloupce (2017) který odpovídá názvům pracovních listů. "Operátor spojování (&)" se používá ke spojení znaku jednoduché uvozovky( "&C$3&") na obě strany. Chcete-li vytvořit odkaz na konkrétní pracovní list, použijte příkaz "Vykřičník (!)" je připojen na pravé straně vzorce. Výstupem tohoto spojení je "Text", který bude použit ve vzorci. "INDIRECT" funkce jako odkaz.
- Column_index_number je "2".
- Chceme, aby Přesná shoda (FALSE) .
- Tisk ENTER a přetáhněte dolů a doprava Plnicí rukojeť nástroj.
Tímto způsobem budete moci získat všechny modely různých mobilních společností podle jejich let.
Příklad-2: Získání hodnot z různých listů pomocí funkcí INDIRECT, VLOOKUP, LEFT a RIGHT
V této části máme různé názvy mobilních společností spojené spolu s jejich roky. Naším úkolem je vyhledat příslušný název modelu této mobilní společnosti pro daný rok. K tomu použijeme kombinaci příkazu LEVÝ , PRAVÁ , VYHLEDAT , INDIREKTNÍ a Funkce VLOOKUP .
Kroky :
- V buňce použijte následující vzorec C5 .
=VLOOKUP(LEFT(B5, FIND(" ", B5)-1), INDIRECT("'"&RIGHT(B5,4)&"'!"& "B5:C9"),2, FALSE)
Rozdělení vzorců
- FIND(" ", B5) → se stává
- FIND(" ", "iPhone 2017") → zjistí pozici mezery v tomto textovém řetězci
- Výstup → 7
- FIND(" ", "iPhone 2017") → zjistí pozici mezery v tomto textovém řetězci
- FIND(" ", B5)-1 → se stává
- 7-1 → 6
- LEFT(B5, FIND(" ", B5)-1) → se stává
- LEFT("iPhone 2017",6) → extrahuje první 6 znaků z tohoto textového řetězce
- Výstup → "iPhone"
- LEFT("iPhone 2017",6) → extrahuje první 6 znaků z tohoto textového řetězce
- PRAVÁ(B5,4) → se stává
- RIGHT("iPhone 2017",4) → vytahuje poslední 4 znaků z pravé strany tohoto textového řetězce.
- Výstup → 2017
- RIGHT("iPhone 2017",4) → vytahuje poslední 4 znaků z pravé strany tohoto textového řetězce.
- INDIRECT("'"&RIGHT(B5,4)&"'!"& "B5:C9") → se stává
- INDIRECT("'"& "2017"&"'!"& "B5:C9")
- Výstup → '2017'!B5:C9
- INDIRECT("'"& "2017"&"'!"& "B5:C9")
- VLOOKUP(LEFT(B5,FIND(" ",B5)-1),INDIRECT("'"&RIGHT(B5,4)&"'!"& "B5:C9"),2,FALSE) → se stává
- VLOOKUP("iPhone", '2017'!B5:C9,2, FALSE) → extrahuje název modelu pro 2017 této společnosti
- Výstup → iPhone X
- VLOOKUP("iPhone", '2017'!B5:C9,2, FALSE) → extrahuje název modelu pro 2017 této společnosti
- Přetáhněte dolů a doprava Plnicí rukojeť .
Nakonec budete mít tyto modely v. Model sloupec.
Příklad-3: Kombinace funkcí INDIRECT, VLOOKUP a TEXT
Zde máme k dispozici následující dvě sady dat mobilních modelů pro 2020 a 2021 A název těchto listů je... 012020 a 012021 , představující Leden měsíc těchto let.
V novém listu jsme vytvořili následující tabulku. V okně Sériové číslo sloupec, máme nějaká čísla, na jejichž základě budeme hledat hodnoty v ostatních listech. A ostatní sloupce mají data jako jejich záhlaví, s jejichž pomocí zjistíme naše listy.
Kroky :
- V buňce použijte následující vzorec C5 .
=VLOOKUP($B5, INDIRECT(TEXT(C$4, "MMRRRR")&"!B5:D9"),3,0)
Rozdělení vzorců
- TEXT(C$4, "MMYYYY") → se stává
- TEXT(43831, "MMYYYY") → Funkce TEXT naformátuje hodnotu data jako MMRRRR .
- Výstup → 012020
- TEXT(43831, "MMYYYY") → Funkce TEXT naformátuje hodnotu data jako MMRRRR .
- INDIRECT(TEXT(C$4, "MMRRRR")&"!B5:D9″) → se stává
- INDIRECT(“012020″&”!B5:D9″)
- Výstup → '012020'!B5:D9
- INDIRECT(“012020″&”!B5:D9″)
- VLOOKUP($B5, INDIRECT(TEXT(C$4, "MMRRRR")&"!B5:D9″),3,0) → se stává
- VLOOKUP(1, '012020'!B5:D9,3,0)
- Výstup → iPhone 12
- VLOOKUP(1, '012020'!B5:D9,3,0)
- Přetáhněte dolů a doprava Plnicí rukojeť .
Nakonec získáte následující výsledky.
Jak používat funkce INDIRECT a VLOOKUP pro různé sešity v aplikaci Excel
Na následujících obrázcích je uvedeno 2 samostatné pracovní sešity; 2020.xlsx a 2021.xlsx , s jejich pracovními listy; 2020 a 2021 . Z těchto sešitů vybereme potřebné hodnoty do nového sešitu.
Pro získání názvů modelů jsme v novém sešitě vytvořili následující datovou sadu.
Kroky :
- Do buňky zadejte následující vzorec C5 .
=VLOOKUP($B5,INDIRECT("'["&C$4&".xlsx"&"]"&C$4&"'!"&"$B$5:$D$9"), 3,FALSE)
Rozdělení vzorců
- "'["&C$4&".xlsx"&"]" → se stává
- "'["&2020&".xlsx"&"]" → Operátor ampersandu spojí tyto řetězce
- Výstup → "'[2020.xlsx]"
- "'["&2020&".xlsx"&"]" → Operátor ampersandu spojí tyto řetězce
- INDIRECT("'["&C$4&".xlsx"&"]"&C$4&"'!"&"$B$5:$D$9″) → se stává
- INDIRECT("'[2020.xlsx]"&2020&"'!"&"$B$5:$D$9")
- Výstup → '2020.xlsx'!$B$5:$D$9
- INDIRECT("'[2020.xlsx]"&2020&"'!"&"$B$5:$D$9")
- VLOOKUP($B5,INDIRECT("'["&C$4&".xlsx"&"]"&C$4&"'!"&"$B$5:$D$9″), 3,FALSE) → se stává
- VLOOKUP(1,'2020.xlsx'!$B$5:$D$9, 3,FALSE)
- Výstup → iPhone 12
- VLOOKUP(1,'2020.xlsx'!$B$5:$D$9, 3,FALSE)
- Přetáhněte dolů a doprava Plnicí rukojeť .
Nakonec jsme z různých sešitů získali následující mobilní modely.
Poznámka: Pro práci s tímto vzorcem je nutné otevřít všechny sešity, jinak může dojít k chybě.Praktická část
Abyste mohli cvičit sami, vytvořili jsme Cvičení na pravé straně každého listu.
Přečtěte si více: Příklad VLOOKUP mezi dvěma listy v aplikaci Excel
Na co nezapomenout
⏩Pro funkce INDIRECT , pokud ref_text není platný odkaz na buňku, funkce vrátí hodnotu #REF! hodnota chyby.
⏩ Funkce VLOOKUP hledá hodnoty vyhledávání vždy od levého horního sloupce směrem doprava. Tato funkce "Nikdy" vyhledává údaje vlevo.
⏩Při výběru "Lookup_value" musíte použít absolutní odkazy na buňky ($) blokovat pole.
Závěr
Výkonná kombinace "NEPŘÍMÉ VYHLEDÁVÁNÍ" Doufáme, že tento článek bude pro vás užitečný. Pokud máte k tomuto článku nějaké připomínky, podělte se o ně v našem komentáři.