Jak používat funkci VLOOKUP s funkcí INDIRECT v aplikaci Excel

  • Sdílet Toto
Hugh West

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.xlsx

2020.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(" ", 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"
  • 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
  • INDIRECT("'"&RIGHT(B5,4)&"'!"& "B5:C9") → se stává
    • INDIRECT("'"& "2017"&"'!"& "B5:C9")
      • Výstup → '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
  • 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
  • INDIRECT(TEXT(C$4, "MMRRRR")&"!B5:D9″) → se stává
    • INDIRECT(“012020″&”!B5:D9″)
      • Výstup → '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
  • 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]"
  • 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
  • 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
  • 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.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.