Obsah
V tomto kurzu najdete několik příkladů pokročilých vzorců, které ukazují, jak používat funkce VLOOKUP a SUM nebo SUMIF aplikace Excel k vyhledávání a sčítání hodnot na základě jednoho nebo několika kritérií.
Snažíte se v Excelu vytvořit souhrnný soubor, který identifikuje všechny případy jedné konkrétní hodnoty a poté sečte další hodnoty, které jsou s těmito případy spojeny? Nebo potřebujete najít všechny hodnoty v poli, které splňují zadanou podmínku, a poté sečíst související hodnoty z jiného listu? Nebo možná stojíte před konkrétnějším úkolem, jako je například prohledání tabulkyfaktur vaší společnosti, identifikovat všechny faktury konkrétního dodavatele a poté sečíst všechny hodnoty faktur?
Úlohy se mohou lišit, ale podstata je stejná - chcete v Excelu vyhledat a sečíst hodnoty s jedním nebo několika kritérii. Jaké hodnoty? Jakékoli číselné hodnoty. Jaká kritéria? Jakákoli : ) Počínaje číslem nebo odkazem na buňku obsahující správnou hodnotu a konče logickými operátory a výsledky vrácenými vzorci Excelu.
Má tedy Microsoft Excel nějaké funkce, které vám mohou pomoci s výše uvedenými úlohami? Samozřejmě, že má! Řešení můžete vypracovat kombinací funkcí VLOOKUP nebo LOOKUP aplikace Excel s funkcemi SUM nebo SUMIF. Následující příklady vzorců vám pomohou pochopit, jak tyto funkce aplikace Excel fungují a jak je použít na skutečná data.
Upozorňujeme, že se jedná o příklady pro pokročilé, které předpokládají, že znáte obecné principy a syntaxi funkce VLOOKUP. Pokud ne, určitě stojí za pozornost první část našeho výukového kurzu VLOOKUP pro začátečníky - syntaxe a obecné použití funkce Excel VLOOKUP.
Excel VLOOKUP a SUM - zjištění součtu odpovídajících hodnot
Pokud v Excelu pracujete s číselnými údaji, musíte často nejen získat související hodnoty z jiné tabulky, ale také sečíst čísla v několika sloupcích nebo řádcích. K tomu můžete použít kombinaci funkcí SUM a VLOOKUP, jak je ukázáno níže.
Zdrojová data:
Předpokládejme, že máte seznam produktů s údaji o prodeji za několik měsíců, pro každý měsíc sloupec. Zdrojová data jsou na listu s názvem Měsíční prodeje :
Nyní chcete vytvořit souhrnnou tabulku s celkovými prodeji jednotlivých produktů.
Řešením je použití pole ve 3. parametru ( col_index_num ) funkce VLOOKUP aplikace Excel. Zde je obecný vzorec:
SUMA(VLOOKUP( vyhledávací hodnota , rozsah vyhledávání , {2,3,...,n}, FALSE))Jak vidíte, používáme konstantu pole ve třetím argumentu, abychom v rámci jednoho vzorce VLOOKUP provedli několik vyhledávání a získali součet hodnot ve sloupcích 2,3 a 4.
A nyní upravíme tuto kombinaci funkcí VLOOKUP a SUM pro naše data tak, abychom zjistili součet prodejů ve sloupcích B - M ve výše uvedené tabulce:
=SUMA(VLOOKUP(B2, "Měsíční tržby"! $A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))
Důležité! Vzhledem k tomu, že vytváříte vzorec pole, nezapomeňte po dokončení psaní stisknout klávesy Ctrl + Shift + Enter namísto prostého stisku klávesy Enter. Když to uděláte, Microsoft Excel váš vzorec uzavře do kudrnatých závorek takto:
{=SUMA(VLOOKUP(B2, 'Měsíční tržby'!$A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))}
Pokud stisknete tlačítko Vstupte na klíč jako obvykle, bude zpracována pouze první hodnota v poli, což povede k nesprávným výsledkům.
Tip: Možná vás zajímá, proč se ve vzorci na výše uvedeném obrázku jako vyhledávací hodnota zobrazuje [@Product]. Je to proto, že jsem data převedl do tabulky ( Vložte karta> Tabulka ). Za velmi pohodlnou považuji práci s plně funkčními tabulkami Excelu a jejich strukturovanými odkazy. Například při zadání vzorce do jedné buňky jej Excel automaticky zkopíruje do celého sloupce a ušetří tak několik drahocenných vteřin :).
Jak vidíte, použití funkcí VLOOKUP a SUM v Excelu je snadné. Není to však ideální řešení, zejména pokud pracujete s velkými tabulkami. Jde o to, že použití vzorců v poli může mít nepříznivý vliv na výkon sešitu, protože každá hodnota v poli vyvolává samostatné volání funkce VLOOKUP. Čím více hodnot tedy máte v poli a čím více vzorců v poli máte, tím je výkon sešitu nižší.sešitu, tím pomaleji Excel pracuje.
Tento problém můžete obejít použitím kombinace funkcí INDEX a MATCH namísto SUM a VLOOKUP a v příštím článku vám ukážu několik příkladů vzorců.
Stáhněte si tuto ukázku VLOOKUP a SUM
Jak provádět další výpočty pomocí funkce VLOOKUP aplikace Excel
Před chvílí jsme si uvedli příklad, jak lze z několika sloupců vyhledávací tabulky získat hodnoty a vypočítat jejich součet. Stejným způsobem lze s výsledky vrácenými funkcí VLOOKUP provádět další matematické výpočty. Zde je několik příkladů vzorců:
Operace | Příklad vzorce | Popis |
---|---|---|
Výpočet průměru | {=AVERAGE(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Vzorec vyhledá hodnotu buňky A2 v tabulce "Lookup table" a vypočítá průměr hodnot ve sloupcích B,C a D ve stejném řádku. |
Nalezení maximální hodnoty | {=MAX(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Vzorec vyhledá hodnotu buňky A2 v tabulce "Lookup table" a najde maximální hodnotu ve sloupcích B,C a D ve stejném řádku. |
Nalezení minimální hodnoty | {=MIN(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Vzorec vyhledá hodnotu buňky A2 v tabulce "Lookup table" a najde minimální hodnotu ve sloupcích B,C a D ve stejném řádku. |
Výpočet % ze součtu | {=0,3*SUM(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Vzorec vyhledá hodnotu buňky A2 v tabulce "Lookup table", sečte hodnoty ve sloupcích B,C a D ve stejném řádku a poté vypočítá 30 % součtu. |
Poznámka: Vzhledem k tomu, že všechny výše uvedené vzorce jsou vzorce pole, nezapomeňte stisknout klávesy Ctrl+Shift+Enter, abyste je správně zadali do buňky.
Pokud přidáme výše uvedené vzorce do tabulky "Souhrnný prodej" z předchozího příkladu, bude výsledek vypadat podobně:
Stáhněte si tento příklad výpočtů VLOOKUP
LOOKUP AND SUM - vyhledání v poli a sečtení odpovídajících hodnot
V případě, že parametrem vyhledávání není jedna hodnota, ale pole, je funkce VLOOKUP k ničemu, protože neumí vyhledávat v datových polích. V takovém případě můžete použít funkci LOOKUP aplikace Excel, která je obdobou funkce VLOOKUP, ale pracuje s poli i s jednotlivými hodnotami.
Podívejme se na následující příklad, abyste lépe pochopili, o čem mluvím. Předpokládejme, že máte tabulku, ve které jsou uvedena jména zákazníků, zakoupené produkty a jejich množství ( Hlavní stůl ). Máte také druhou tabulku obsahující ceny produktů ( Vyhledávací tabulka ). Vaším úkolem je vytvořit vzorec, který zjistí součet všech objednávek daného zákazníka.
Jak si pamatujete, nemůžete použít funkci VLOOKUP aplikace Excel, protože máte více instancí hledané hodnoty (pole dat). Místo toho použijete kombinaci funkcí SUM a LOOKUP, jako je tato:
=SUMA(LOOKUP($C$2:$C$10,'Vyhledávací tabulka'!$A$2:$A$16,'Vyhledávací tabulka'!$B$2:$B$16)*$D$2:$D$10*($B$2:$B$10=$G$1))
Protože se jedná o vzorec pole, nezapomeňte jej dokončit stisknutím kláves Ctrl + Shift + Enter.
Nyní si rozebereme složky vzorce, abyste pochopili, jak jednotlivé funkce fungují, a mohli si je upravit pro svá vlastní data.
Funkci SUM na chvíli odložíme, protože její účel je zřejmý, a zaměříme se na tři složky, které se násobí:
LOOKUP($C$2:$C$10,'Lookup table'!$A$2:$A$16,'Lookup table'!$B$2:$B$16)
Tato funkce LOOKUP vyhledá zboží uvedené ve sloupci C hlavní tabulky a vrátí odpovídající cenu ze sloupce B vyhledávací tabulky.
$D$2:$D$10
Tato komponenta vrací množství každého výrobku zakoupeného každým zákazníkem, které je uvedeno ve sloupci D v hlavní tabulce. Po vynásobení cenou, kterou vrací výše uvedená funkce LOOKUP, získáte cenu každého zakoupeného výrobku.
$B$2:$B$10=$G$1
Tento vzorec porovnává jména zákazníků ve sloupci B se jménem v buňce G1. Pokud je nalezena shoda, vrátí "1", v opačném případě "0". Používá se jednoduše k "odříznutí" jiných jmen zákazníků než jména v buňce G1, protože všichni víme, že každé číslo vynásobené nulou je nula.
Protože náš vzorec je vzorec pro pole, opakuje se výše popsaný postup pro každou hodnotu v poli pro vyhledávání. A nakonec funkce SUMA sečte součin všech násobení. Není to vůbec nic složitého, že?
Poznámka: Aby vzorec LOOKUP fungoval správně, musíte sloupec LOOKUP v tabulce Lookup seřadit vzestupně (od A do Z). Pokud je řazení vašich dat nepřijatelné, podívejte se na skvělý vzorec SUM / TRANSPOSE, který navrhl Leo.
Stáhněte si tuto ukázku LOOKUP a SUM
VLOOKUP a SUMIF - vyhledávání & sčítání hodnot pomocí kritérií
Funkce SUMIF aplikace Excel je podobná funkci SUM, o které jsme právě hovořili, protože také sčítá hodnoty. Rozdíl je v tom, že funkce SUMIF sčítá pouze ty hodnoty, které splňují zadaná kritéria. Například nejjednodušší vzorec SUMIF =SUMIF(A2:A10,">10")
sečte hodnoty v buňkách A2 až A10, které jsou větší než 10.
To je velmi snadné, že? A nyní uvažujme trochu složitější scénář. Předpokládejme, že máte tabulku, která obsahuje seznam jmen a identifikačních čísel prodejců ( Lookup_table ). Máte další tabulku, která obsahuje stejná ID a související údaje o prodeji ( Main_table ). Vaším úkolem je zjistit součet tržeb, které daná osoba uskutečnila podle svého ID. Přitom existují 2 komplikující faktory:
- Tabulka pošty obsahuje více záznamů pro stejné ID v náhodném pořadí.
- Do hlavní tabulky nelze přidat sloupec "Jména prodejců".
A nyní vytvoříme vzorec, který za prvé najde všechny prodeje uskutečněné danou osobou a za druhé zjištěné hodnoty sečte.
Než začneme se vzorcem, připomenu vám syntaxi funkce SUMIF:
SUMIF(rozsah, kritéria, [sum_range])rozsah
- tento parametr je srozumitelný, jednoduše se jedná o rozsah buněk, které chcete vyhodnotit podle zadaných kritérií.kritéria
- podmínka, která vzorci říká, jaké hodnoty má sčítat. Může být zadána ve formě čísla, odkazu na buňku, výrazu nebo jiné funkce Excelu.sum_range
- tento parametr je nepovinný, ale pro nás velmi důležitý. Určuje rozsah, do kterého se budou sčítat hodnoty odpovídajících buněk. Pokud je vynechán, Excel sečte hodnoty buněk, které jsou uvedeny v argumentu rozsah (1. parametr).
S ohledem na výše uvedené informace definujme 3 parametry pro naši funkci SUMIF. Jak si pamatujete, chceme sečíst všechny prodeje, které uskutečnila daná osoba, jejíž jméno je zadáno v buňce F2 v hlavní tabulce (viz obrázek výše).
- Rozsah - protože vyhledáváme podle ID prodejce, je třeba. rozsah parametrem pro naši funkci SUMIF je sloupec B v hlavní tabulce. Můžete tedy zadat rozsah B:B, nebo pokud převedete data do tabulky, můžete místo toho použít název sloupce:
Main_table[ID]
- Kritéria - protože máme jména prodejců v jiné tabulce (vyhledávací tabulce), musíme použít vzorec VLOOKUP, abychom zjistili ID odpovídající dané osobě. Jméno osoby je zapsáno v buňce F2 v hlavní tabulce, takže ho vyhledáme pomocí tohoto vzorce:
VLOOKUP($F$2,Lookup_table,2,FALSE)
Samozřejmě byste mohli zadat název do vyhledávacích kritérií funkce VLOOKUP, ale použití absolutního odkazu na buňku je lepší přístup, protože se tak vytvoří univerzální vzorec, který funguje pro jakýkoli název zadaný v dané buňce.
- Rozsah součtu - Protože naše prodejní čísla jsou ve sloupci C s názvem "Prodej", jednoduše vložíme
Main_table [Prodej]
.Nyní stačí sestavit části vzorce a vzorec SUMIF + VLOOKUP je připraven:
=SUMIF(Main_table[ID], VLOOKUP($F$2, Lookup_table, 2, FALSE), Main_table[Sales])
Viz_také: Funkce Excel HLOOKUP s příklady vzorců
Stáhněte si tuto ukázku VLOOKUP a SUMIF
Způsob provádění vlookupu v aplikaci Excel bez použití vzorců
Nakonec vám představím nástroj, který dokáže vyhledat, porovnat a sloučit vaše tabulky bez jakýchkoli funkcí nebo vzorců. Nástroj Sloučit tabulky, který je součástí naší sady Ultimate Suite pro Excel, byl navržen a vyvinut jako časově nenáročná a snadno použitelná alternativa k funkcím VLOOKUP a LOOKUP aplikace Excel a může být velmi užitečný jak pro začátečníky, tak pro pokročilé uživatele.
Místo vymýšlení vzorců stačí zadat hlavní a vyhledávací tabulku, definovat společný sloupec nebo sloupce a sdělit průvodci, jaká data chcete načíst.
Poté průvodci umožníte několik sekund, aby vyhledal, porovnal a poskytl vám výsledky. Pokud si myslíte, že by tento doplněk mohl být užitečný při vaší práci, můžete si stáhnout zkušební verzi pomocí níže uvedeného odkazu.
Dostupné soubory ke stažení
VLOOKUP se SUM a SUMIF - příklady vzorců (.xlsx soubor)
Ultimate Suite - zkušební verze (.exe soubor)