Jak vytvořit dynamický seznam v aplikaci Excel na základě kritérií (3 způsoby)

  • Sdílet Toto
Hugh West

Dnes vám ukážu, jak v aplikaci Excel vytvořit dynamický seznam na základě jednoho nebo více kritérií.

Stáhnout cvičebnici

Dynamický seznam na základě kritérií.xlsx

Co je dynamický seznam v aplikaci Excel?

Dynamický seznam je seznam, který je vytvořen ze souboru dat a automaticky se aktualizuje, když se změní jakákoli hodnota v původním souboru dat nebo když jsou do původního souboru dat přidány nové hodnoty.

Na uvedeném obrázku je seznam jmen všech studentů, kteří získali známky vyšší než. 60 při zkoušce.

Pokud změníte značky Jennifer Marlo z 68 na 58 a přidejte nového studenta jménem Ross Smith se známkami 81 v tabulce, seznam se automaticky upraví.

Tomuto seznamu se říká dynamický seznam.

3 způsoby vytvoření dynamického seznamu v aplikaci Excel na základě kritérií

Zde máme datovou sadu se znakem Studentské průkazy, Jména, a Marks některých žáků ve škole zvané Slunečnicová školka.

Naším dnešním cílem je vytvořit dynamický seznam na základě kritérií z tohoto souboru dat. Dnes použijeme jak jednotlivá, tak vícenásobná kritéria.

1. Použití funkcí FILTER a OFFSET (pro nové verze aplikace Excel)

Nejprve použijeme kombinaci nástrojů. FILTR , OFFSET a COUNTA funkce aplikace Excel.

Na stránkách FILTR funkce je k dispozici v Office 365 Pouze pro ty, kteří mají přístup k internetu. Office 365 předplatné.

Případ 1: Na základě jednoho kritéria

Pokusme se vytvořit dynamický seznam studentů, jejichž průměrné známky jsou větší nebo rovny. 60 .

Můžete použít tento vzorec:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Jak vidíte, máme seznam všech studentů, kteří získali více než. 60 .

Je zřejmé, že se jedná o dynamický seznam. Můžete změnit jakoukoli hodnotu v datové sadě nebo přidat jakoukoli novou hodnotu do datové sady.

Seznam se automaticky upraví.

Vysvětlení vzorce:

  • COUNTA(C:C) vrací počet řádků ve sloupci C, které nejsou prázdné. COUNTA(C:C)-1 vrací počet řádků, které mají hodnoty bez znaku Záhlaví sloupce ( Jméno studenta v tomto příkladu).
  • Pokud nemáte Záhlaví sloupce , použijte COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) začíná v buňce C5 (Jméno prvního studenta) a vrátí rozsah jmen všech studentů.
  • Na stránkách OFFSET v kombinaci s funkcí Funkce COUNTIF Pokud se do datového souboru přidá další student, vzorec se změní. COUNTA(C:C)-1 vzorec se zvýší o 1 a OFFSET funkce bude zahrnovat studenta.
  • Podobně, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 vrací TRUE pro všechny značky, které jsou větší nebo rovny 60 .
  • Nakonec, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) vrátí seznam všech studentů, kteří získali více bodů než 60 .
  • Pokud je do souboru dat přidán nový student, COUNTA(C:C)-1 se zvyšuje o 1 a FILTR funkce obnoví výpočet, který ji zahrnuje.
  • Vzorec tak zůstává vždy dynamický.

Poznámka:

Pokud chcete získat značky spolu se jmény v seznamu, stačí změnit pátý argument prvního příkazu. OFFSET funkce z 1 na 2 .

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Případ 2: Na základě více kritérií

Tentokrát zkusíme více kritérií.

Pokusíme se vytvořit dynamický seznam studentů, kteří získali známky vyšší nebo rovné 60, ale jejichž ID je menší nebo rovno 60. 200 .

Můžete použít tento vzorec:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)).

Jak vidíte, máme seznam všech studentů, kteří získali více bodů než. 60 a mají ID méně než 200 .

A není třeba říkat, že jde o dynamický seznam.

Pokud změníte jakoukoli hodnotu nebo přidáte do datové sady nového studenta, seznam se automaticky upraví.

Vysvětlení vzorce:

  • Zde jsme vynásobili dva dynamické rozsahy kritérií, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Pokud máte více než 2 násobit všechny rozsahy kritérií stejným způsobem.
  • Zbytek je stejný jako v předchozím příkladu (jednotlivá kritéria). OFFSET v kombinaci s funkcí COUNTA byla použita funkce pro zachování dynamiky vzorce.

Poznámka:

Pokud chcete zobrazit všechny sloupce v seznamu ( Sloupce B, C, a D v tomto příkladu), změňte první argument prvního příkazu OFFSET do prvního sloupce ( B5 v tomto příkladu) a pátým argumentem celkový počet sloupců ( 3 v tomto příkladu).

=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Další informace: Vytvoření dynamického seznamu z tabulky v aplikaci Excel (3 snadné způsoby)

2. Použití funkce INDEX-MATCH s jinými funkcemi (pro starší verze)

Ti, kteří nemají Office 365 předplatné nelze použít podle výše uvedeného vzorce.

Pro ty, kteří používají starší verzi Excelu, uvádím složitější způsob, a to pomocí příkazu INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, a COUNTIFS Všimněte si, že tyto vzorce jsou vzorce v poli. Chcete-li je tedy použít ve starších verzích Excelu, musíte stisknout tlačítko Ctrl+Shift+Enter místo pouhého Enter.

Případ 1: Na základě jednoho kritéria

Vzorec pro vytvoření dynamického seznamu studentů, kteří získali více nebo rovno 60, bude následující:

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60,

OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1))

Jak vidíte, opět jsme získali jména všech studentů, kteří získali více nebo stejně bodů. 60 .

Tentokrát jsme seřadili čísla vzestupně.

A ano, seznam je dynamický. Přidejte do datové sady nového studenta nebo změňte známky kteréhokoli studenta v datové sadě.

Seznam se automaticky upraví.

Vysvětlení vzorce:

  • Zde C:C je sloupec, ze kterého chceme vyjmout obsah seznamu ( Jméno studenta v tomto příkladu). Použijete svůj.
  • D:D je sloupec, ve kterém leží kritérium ( Průměrné známky v tomto příkladu). Použijete svůj.
  • C5 a D5 jsou buňky, ze kterých jsem začal získávat data (těsně pod označením Záhlaví sloupců ). Použijte svůj.
  • ">=60" je mým kritériem (Větší nebo rovno 60 v tomto příkladu). Použijete svůj.
  • Kromě těchto několika změn ponechte zbytek vzorce beze změny a použijte jej v souboru dat. Získáte dynamický seznam podle požadovaného kritéria.

Případ 2: Na základě více kritérií

Na stránkách INDEX-MATCH vzorec pro dynamický seznam založený na více kritériích je trochu složitější. Přesto jej uvádím.

Vzorec pro získání jmen studentů, kteří získali známky větší nebo rovné 60 , ale mají ID méně než 200 bude;

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*.

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1))

Vysvětlení vzorce:

  • Zde C:C je sloupec, ze kterého chceme vyjmout obsah seznamu ( Jméno studenta v tomto příkladu). Použijete svůj.
  • B:B a D:D jsou sloupce, ve kterých leží kritéria ( ID studenta a Průměrné známky v tomto příkladu). Použijete svůj.
  • B5, C5, a D5 jsou buňky, ze kterých jsem začal získávat data (těsně pod označením Záhlaví sloupců ). Použijte svůj.
  • Znásobil jsem zde dvě kritéria: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Pokud máte více než dvě kritéria, vynásobte je odpovídajícím způsobem.
  • Opět jsem použil dvě kritéria uvnitř tohoto COUNTIFS funkce: COUNTIFS(B:B,"=60") . Podle toho je také použijte.
  • Zbytek vzorce ponechte beze změny a použijte jej v datové sadě. Získáte dynamický seznam s více kritérii.

Další informace: Jak vytvořit dynamický seznam pro ověřování dat pomocí VBA v aplikaci Excel

3. Vytvoření dynamického rozbalovacího seznamu na základě kritérií pomocí nástroje pro ověřování dat

Nyní jsme vytvořili dynamický seznam. Pokud chcete, můžete. vytvořit dynamický rozevírací seznam v libovolné buňce pracovního listu.

  • Chcete-li vytvořit dynamický rozevírací seznam, vyberte libovolnou buňku v pracovním listu a přejděte na příkaz Data> Ověřování dat> Ověřování dat pod Datové nástroje sekce.

  • Získáte Ověřování dat dialogové okno. Pod Povolit Vyberte možnost Seznam A pod Zdroj: zadejte odkaz na první buňku, ve které se seznam v pracovním listu nachází, spolu se symbolem. HashTag (#) ( $E$5# v tomto příkladu).

  • Pak klikněte na OK . Ve vybrané buňce se zobrazí rozevírací seznam takto.

Další informace: Jak vytvořit dynamický rozbalovací seznam pomocí VBA v aplikaci Excel

Jak vytvořit dynamický jedinečný seznam v aplikaci Excel na základě kritérií

V této části si ukážeme, jak vytvořit jedinečný seznam v aplikaci Excel na základě kritérií. Použijeme kombinaci následujících možností UNIKÁTNÍ a FILTR Funkce. Upravili jsme datový soubor a přidali oblíbené hry každého studenta. Nyní chceme zjistit názvy her, které odstraňují duplicity pomocí kritérií. Kritéria jsou průměrné známky studentů musí být větší než. 60 .

📌 Kroky:

  • Vložte vzorec založený na kombinaci UNIKÁTNÍ a FILTR funkce na Buňka G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Na základě kritérií získáme jedinečný seznam.

Vysvětlení vzorce:

  • FILTER(E5:E25,(D5:D25>60)

Tím se filtrují hodnoty Rozsah E5:E25 s podmínkou, že průměrný počet bodů musí být vyšší než 60 .

Výsledek: [Tenis, Volejbal, Rugby, Tenis, Fotbal, Rugby, Rugby, Fotbal]

  • UNIKÁTNÍ(FILTR(E5:E25,(D5:D25>60)))

Vrátí všechny jedinečné hodnoty z předchozího výsledku.

Výsledek: [tenis, volejbal, ragby, fotbal]

Závěr

Pomocí těchto metod můžete vytvořit dynamický seznam na základě jednoho nebo více kritérií v libovolném souboru dat v aplikaci Excel. Podívejte se na naše webové stránky. ExcelWIKI a napište své návrhy do komentářů.

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.