Jak extrahovat data z aplikace Excel na základě kritérií (5 způsobů)

  • Sdílet Toto
Hugh West

Někdy se může stát, že potřebujeme vyhledat určitá data, se kterými chceme pracovat. Když je ale soubor dat obrovský, je opravdu těžké najít to, co hledáme. V tomto článku vám ukážeme, jak na to. extrahovat data z aplikace Excel na základě různých kritérií.

Stáhnout šablonu pro praxi

Bezplatnou cvičnou šablonu Excel si můžete stáhnout zde.

Výpis dat na základě kritérií.xlsx

5 způsobů extrakce dat z aplikace Excel na základě kritérií

V této části se budeme zabývat 5 různými způsoby extrakce dat z aplikace Excel na základě určitých kritérií.

1. Implementace vzorce pole pro extrakci dat z aplikace Excel na základě kritérií rozsahu

Na příkladu následujícího souboru dat vám popíšeme proces extrakce dat na základě rozsahu. Předpokládejme, že máme soubor dat s údaji o studentech, ze kterého chceme získat pouze údaje o studentech, kteří získali Známky od 80 do 100 .

Kroky pro extrakci dat na základě určitého rozsahu pomocí funkce Pole jsou uvedeny níže.

Kroky:

  • Nejprve uložte podmínku do jiných buněk, abyste s nimi mohli později pracovat. To znamená, že když budeme získávat údaje o studentech, kteří dostali Známky od 80 do 100 , jsme uložili 80 jako počáteční hodnota a 100 jako koncová hodnota v Buňky I4 a I5 resp.

Také potřebujeme uložit sloupec, ze kterého budeme hledat naše uložené hodnoty. To znamená, že značky 80 a 100 jsou v adresáři Sloupec značek což je 3. sloupec v našem souboru dat, takže jsme uložili 3 jako hodnota sloupce na adrese Buňka I6 .

  • Za druhé, v jiné buňce, kde chcete výsledek (my jsme chtěli výsledek v buňce Buňka G11 ), napište následující vzorec,
  • =INDEX($B$5:$E$14,SMALL(IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),""),ROWS(G11:$G$11)),COLUMNS($A$1:A1))

    • Za třetí stiskněte Ctrl + Shift + Enter na klávesnici.

    Poté se v buňce výsledku zobrazí první extrahovaná data, která odpovídají vaší podmínce. Např. Johnny jehož ID je 3 dostal 80 bodů na adrese Biologie a jeho záznam je v datasetu uložen před ostatními, takže jsme získali Johnnyho ID 3 v buňce výsledku.

    • Nyní přetáhněte sloupce a řádky tak. Plnicí rukojeť získat údaje pouze o studentech, kteří získali Známky od 80 do 100 .

    Rozdělení vzorců

    • INDEX($B$5:$E$14,,$I$6)
      • Output: {60;30;80;55;87;95;100;42;25;18}
      • Vysvětlení: Funkce INDEX obvykle vrací jednu hodnotu nebo celý sloupec či řádek z daného rozsahu buněk. 3 je uložen v Buňka $I$6 , takže vrací celý sloupec ne 3 ( Marks sloupec) z celého rozsahu souboru dat ( $B$5:$E$14 ) jako výstup.
    • INDEX($B$5:$E$14,,$I$6)<=$I$5 -> se stává,
      • {60;30;80;55;87;95;100;42;25;18}<=100
      • Výstup: {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
      • Vysvětlení: Uložili jsme 100 v Buňka $I$5 Protože všechny hodnoty jsou menší než 100 ($I$5) , takže vrací sloupec plný TRUE .

    Podobně,

    • INDEX($B$5:$E$14,,$I$6)>=$I$4 -> se stává,
      • { 60;30;80;55;87;95;100;42;25;18}>=80
      • Výstup: {FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}
      • Vysvětlení: Uložili jsme 80 v Buňka $I$4 . Takže se vrátí TRUE když je hodnota ze sloupce rovná nebo vyšší než 80 ; v opačném případě vrací FALSE .
    • (INDEX($B$5:$E$14,,$I$6)=$I$4) -> se stává,
      • {PRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA}*{PRAVDA;NEPRAVDA;PRAVDA;NEPRAVDA;PRAVDA;PRAVDA;PRAVDA;PRAVDA;NEPRAVDA;NEPRAVDA;NEPRAVDA;NEPRAVDA}
      • Výstup: {0;0;1;0;1;1;1;0;0;0;0}
      • Vysvětlení: Logické hodnoty mají číselné ekvivalenty, TRUE = 1 a FALSE = 0 (nula) . Převádějí se při provádění aritmetické operace ve vzorci.
    • ŘÁDEK($B$5:$E$14)
      • Output: {5;6;7;8;9;10;11;12;13;14}
      • Vysvětlení: Funkce ROW vypočítá číslo řádku odkazu na buňku.
    • MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)) -> se stává,
      • MATCH({5;6;7;8;9;10;11;12;13;14},{5;6;7;8;9;10;11;12;13;14})
      • Výstup: {1; 2; 3; 4; 5; 6; 7; 8; 9; 10}
      • Vysvětlení: Funkce MATCH vrátí relativní pozici položky v poli nebo odkazu na buňku, která odpovídá zadané hodnotě v určitém pořadí.
    • IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),"") -> se stává,
      • IF( {0;0;1;0;1;1;1;0;0;0}), {1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
      • Výstup: {""; ""; 3; ""; 5; 6; 7; ""; ""; ""}
      • Vysvětlení: Funkce IF vrací jednu hodnotu, pokud je logický test TRUE a jinou hodnotu, pokud je logický test FALSE .
    • SMALL(IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),""),ROWS(G11:$G$11)) -> se stává,
      • SMALL({""; ""; 3; ""; 5; 6; 7; ""; ""; ""},ROWS(G11:$G$11)) -> se stává,
      • SMALL({""; ""; 3; ""; 5; 6; 7; ""; ""; ""},1)
      • Výstup: 3
      • Vysvětlení: Funkce SMALL vrací k-tý nejmenší hodnota ze skupiny čísel. 3 je v této skupině nejmenší.
    • INDEX($B$5:$E$14,SMALL(IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),""),ROWS(G11:$G$11)),COLUMNS($A$1:A1)) -> se stává,
      • INDEX($B$5:$E$14,3,,1)
      • Výstup: {3; "Johnny", 80, "Biologie"}
      • Vysvětlení: Na stránkách INDEX funkce vrací hodnotu z rozsahu buněk( $B$5:$E$14 ), zadané hodnotou na základě čísla řádku a sloupce.

    Přečtěte si více: Jak získat data z buňky v aplikaci Excel (5 metod)

    2. Implementace vzorce pole pro extrakci dat z aplikace Excel na základě více podmínek

    Ve výše uvedené části jsme extrahovali data na základě zadaného rozsahu. V této části si však ukážeme, jak extrahovat data na základě více podmínek.

    Podívejte se na stejný datový soubor jako dříve, ale zde jsme místo uložení rozsahu hodnot (známky 80 až 100) jako podmínky uložili více podmínek, například načtení údajů o studentech z oddělení chemie a biologie .

    Kroky pro extrakci dat na základě více podmínek pomocí Pole jsou uvedeny níže.

    Kroky:

    • Nejprve uložte podmínky do jiných buněk, abyste s nimi mohli později pracovat. To znamená, že vzhledem k tomu, že budeme získávat údaje o studentech z Chemie a Biologie oddělení, jsme uložili Chemie a Biologie v Buňky H5 a H6 resp.
    • Za druhé, v jiné buňce, kde chcete výsledek (my jsme chtěli náš výsledek v buňce Buňka G11 ), napište následující vzorec,
    =INDEX($B$5:$E$14, SMALL(IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), ""), ROWS(G11:$G$11)), COLUMNS($B$5:B5))

    • Za třetí, stiskněte Ctrl + Shift + Enter na klávesnici.

    Později získáte první extrahovaná data, která odpovídají vašim podmínkám, v buňce výsledku. Např. Johnny jehož ID je 3 je z Oddělení biologie a jeho záznam je v datasetu uložen před ostatními, takže jsme získali Johnnyho ID 3 v buňce výsledku.

    • Nyní přetáhněte sloupce a řádky tak. Plnicí rukojeť načíst údaje pouze o studentech, kteří jsou z dané Oddělení z Chemie a Biologie .

    Rozdělení vzorců

    • COUNTIF($H$5:$H$6,$E$5:$E$14) -> se stává,
      • COUNTIF({"Chemie"; "Biologie"},{"Matematika"; "Fyzika"; "Biologie"; "Chemie"; "Fyzika"; "Fyzika"; "Matematika"; "Chemie"; "Matematika"; "Biologie"}
      • Výstup: {0;0;1;1;0;0;0;0;1;0;1}
      • Vysvětlení: Funkce COUNTIF umožňuje identifikovat buňky v rozsahu $H$5:$H$6 která se rovná $E$5:$E$14 .
    • IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "") -> se stává,
      • IF({0;0;1;1;0;0;0;1;0;1},MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "") -> se stává,
      • IF({0;0;1;1;0;0;0;1;0;1},{ 1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
      • Výstup: {""; ""; 3; 4; ""; "";""; 8; "";10}
      • Vysvětlení: Na stránkách IF má tři argumenty, přičemž první z nich musí být logický výraz. Pokud se výraz vyhodnotí jako TRUE pak se stane jedna věc (argument 2) a pokud FALSE se stane jiná věc (argument 3). Logický výraz byl vypočten v kroku 1, TRUE se rovná 1 a FALSE se rovná 0 (nula) . Řádek ne 3, 4, 8 a 10 vyhodnotit TRUE (1) .
    • SMALL(IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), ""), ROWS(G11:$G$11)) -> se stává,
      • SMALL({""; ""; 3; 4; ""; "";""; 8; "";10},ROWS(G11:$G$11)) -> se stává,
      • SMALL({""; ""; 3; 4; ""; "";""; 8; "";10},1)
      • Výstup: 3
      • Vysvětlení: Na stránkách SMALL funkce vrací k-tý nejmenší hodnota ze skupiny čísel. 3 je v této skupině nejmenší.
    • INDEX($B$5:$E$14, SMALL(IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), ""), ROWS(G11:$G$11)), COLUMNS($B$5:B5)) -> se stává,
      • INDEX($B$5:$E$14, 3, SLOUPCE($B$5:B5)) -> se stává,
      • INDEX($B$5:$E$14, 3, 1)
      • Výstup: {3; "Johnny", 80, "Biologie"}
      • Vysvětlení: Na stránkách INDEX funkce vrací hodnotu z rozsahu buněk( $B$5:$E$14 ), zadané hodnotou na základě čísla řádku a sloupce.

    Přečtěte si více: Vrácení více hodnot v aplikaci Excel na základě jednoho kritéria (3 možnosti)

    3. Použití příkazového nástroje Filtr k extrakci dat z aplikace Excel na základě kritérií rozsahu

    Příkazový nástroj Filtr v aplikaci Excel je jedním z nejpoužívanějších a nejefektivnějších nástrojů, které umožňují extrahovat specifická data na základě různých kritérií.

    Podívejte se na následující datový soubor. Dříve jsme jej použili jako příklad pro získání údajů o studentech, kteří získali známky od 80 do 100, pomocí vzorce Array. V této části se však naučíme, jak to udělat s využitím Nástroj Filtr aplikace Excel .

    Níže jsou uvedeny kroky pro extrakci dat na základě určitého rozsahu pomocí filtru aplikace Excel.

    Kroky:

    • Nejprve vyberte pouze záhlaví souboru dat.
    • Za druhé, přejděte na Data -> Filtr .

    • Za třetí, vloží rozevírací tlačítko v názvu každé hlavičky datové sady.

    • Pak, protože chceme extrahovat data na základě značek, klikněte na tlačítko rozevírací tlačítko vedle značky sloupec.
    • Dále v rozevíracím seznamu vyberte možnost Počet filtrů -> Mezi... (opět, protože získáváme data mezi 80 a 100 , takže vybereme možnost Mezi . Ze seznamu můžete vybrat libovolné další možnosti podle svých kritérií).

    • Nyní z vyskakovacího okna Vlastní filtr AutoFilter vyberte možnost 80 z rozevírací seznam která se zobrazí po kliknutí na rozevírací tlačítko vedle je větší nebo rovna a vyberte 100 v poli pro štítky je menší nebo rovna .
    • Později klikněte na OK .

    Nakonec se dozvíte všechny podrobnosti pouze o studentech, kteří získali Známky od 80 do 100 .

    Přečtěte si více: Jak extrahovat data z obrázku do aplikace Excel (v rychlých krocích)

    Podobná čtení

    • Jak importovat data do aplikace Excel z jiného souboru Excel (2 způsoby)
    • Kód VBA pro převod textového souboru do aplikace Excel (7 metod)
    • Jak automaticky převést textový soubor do aplikace Excel (3 vhodné způsoby)
    • Převod aplikace Excel do textového souboru s oddělovačem (2 snadné přístupy)
    • Jak importovat textový soubor s více oddělovači do aplikace Excel (3 metody)

    4. Využití pokročilého filtru k extrakci dat z aplikace Excel na základě kritérií rozsahu

    Pokud nechcete procházet mnoha kroky uvedenými v části Filtr, můžete použít příkaz Rozšířený filtr možnost v aplikaci Excel extrahovat data na základě zadaného rozsahu.

    Chcete-li využít možnost pokročilého filtru v aplikaci Excel, musíte v pracovním listu definovat podmínku, kterou později použijete. Viz následující obrázek, kde jsme definovali naši podmínku pro extrakci údajů o studentech ze dne Známky 80 až 100 ve dvou různých buňkách jako >=80 a <=100 pod Marks a my budeme používat referenční čísla buněk těchto buněk později v naší práci.

    Níže jsou uvedeny kroky pro extrakci dat na základě určitého rozsahu pomocí pokročilého filtru aplikace Excel.

    Kroky:

    • Nejprve vyberte celá datová tabulka .
    • Za druhé, přejděte na Data -> Pokročilé .

    • Nakonec se zobrazí rozsah vašich vybrané údaje v rámečku vedle Rozsah seznamu možnost.
    • Poté v rámečku vedle Rozsah kritérií , vyberte buňky, které splňují definované podmínky . Uvidíte, že se v něm automaticky vygeneruje název pracovního listu podle referenčních čísel buněk, v nichž se nacházejí předdefinované podmínky.
    • Nakonec klikněte na OK .

    Veškeré údaje tak získáte pouze pro studenty, kteří získali Známky od 80 do 100 .

    Přečtěte si více: Extrakce filtrovaných dat v aplikaci Excel do jiného listu (4 metody)

    5. Výpis dat z tabulky definované v aplikaci Excel na základě kritérií rozsahu

    Data můžete extrahovat z Tabulka definovaná v aplikaci Excel z pracovního listu Excelu pomocí příkazu Filtr možnost.

    Uvažujme následující neuspořádaný soubor dat, který nejprve definujeme jako tabulku aplikace Excel a poté z něj získáme data.

    Níže jsou uvedeny kroky pro získání dat z tabulky definované v aplikaci Excel na základě určitého rozsahu.

    Kroky:

    • Na začátku vyberte jakákoli buňka z vaší datové sady a stiskněte Ctrl T .

    • Poté se zobrazí vyskakovací okno Vytvořit tabulku Zobrazí se rámeček se rozsah vašeho souboru dat jako hodnoty . Ponechte si zaškrtávací políčko Moje tabulka má záhlaví označené.
    • Později klikněte na OK .

    Bude automatické generování tabulky na základě vaší sady dat s rozevírací tlačítko spolu se záhlavími.

    • Poté, stejně jako jsme vám to ukázali dříve, klikněte na položku rozevírací tlačítko vedle značky sloupec, protože chceme extrahovat data na základě značky.
    • Později v rozevíracím seznamu vyberte možnost Počet filtrů -> Mezi... (opět, protože získáváme data mezi 80 a 100 , vybereme možnost Mezi . Ze seznamu můžete vybrat libovolné další možnosti podle svých kritérií).

    • Nyní z vyskakovacího okna Vlastní filtr AutoFilter vyberte možnost 80 z rozevírací seznam která se zobrazí po kliknutí na rozevírací tlačítko vedle je větší nebo rovna a vyberte 100 v poli pro štítky je menší nebo rovna .
    • Nakonec klikněte na OK .

    Nakonec získáte tabulku definovanou v aplikaci Excel, která obsahuje pouze údaje o studentech, kteří získali Známky od 80 do 100 .

    Další informace: Jak extrahovat data z tabulky na základě více kritérií v aplikaci Excel

    Mějte na paměti

    • Protože rozsah pole datové tabulky pro hledání hodnoty je pevně daný, nezapomeňte do pole vložit příkaz dolar ($) před referenčním číslem buňky tabulky pole.
    • Při práci s hodnotami pole nezapomeňte stisknout tlačítko Ctrl + Shift + Enter na klávesnici během extrakce výsledků. Stisknutím pouze Vstupte na bude fungovat pouze při použití Microsoft 365 .
    • Po stisknutí Ctrl + Shift + Enter , všimnete si, že v pruhu vzorců je vzorec uzavřen v položce kudrnaté závorky {} a deklaruje ji jako vzorec pole. Nepište tyto vzorce. závorky {} sami, Excel to udělá automaticky za vás.

    Závěr

    V tomto článku jsme se dozvěděli, jak extrahovat data z Excelu na základě různých kritérií. Doufám, že pro vás byl tento článek velmi přínosný. Neváhejte se zeptat na jakékoliv otázky, pokud se týkají tohoto tématu.

    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.