Ako vytvoriť dynamický zoznam v programe Excel na základe kritérií (3 spôsoby)

  • Zdieľajte To
Hugh West

Dnes vám ukážem, ako v programe Excel vytvoriť dynamický zoznam na základe jedného alebo viacerých kritérií.

Stiahnite si cvičebnicu

Dynamický zoznam na základe kritérií.xlsx

Čo je dynamický zoznam v programe Excel?

Dynamický zoznam je zoznam, ktorý je vytvorený zo súboru údajov a automaticky sa aktualizuje, keď sa zmení ktorákoľvek hodnota v pôvodnom súbore údajov alebo sa do pôvodného súboru údajov pridajú nové hodnoty.

Na danom obrázku je zoznam mien všetkých žiakov, ktorí získali známky vyššie ako 60 pri skúške.

Ak teraz zmeníte značky Jennifer Marlo z 68 na 58 a pridať nového študenta s menom Ross Smith so známkami 81 v tabuľke, zoznam sa automaticky upraví.

Tento zoznam sa nazýva dynamický zoznam.

3 spôsoby vytvorenia dynamického zoznamu v programe Excel na základe kritérií

Tu máme súbor údajov s Študentské preukazy, Mená, a Značky niektorých žiakov v škole s názvom Sunflower kindergarten.

Naším dnešným cieľom je vytvoriť dynamický zoznam na základe kritérií z tohto súboru údajov. Dnes použijeme jednoduché aj viacero kritérií.

1. Používanie funkcií FILTER a OFFSET (pre nové verzie programu Excel)

Najskôr použijeme kombináciu FILTER , OFFSET a COUNTA funkcie programu Excel.

Stránka FILTER funkcia je k dispozícii v Office 365 Takže je to určené len pre tých, ktorí majú Office 365 predplatné.

Prípad 1: Na základe jedného kritéria

Skúsme vytvoriť dynamický zoznam študentov, ktorých priemerné známky sú väčšie alebo rovné 60 .

Môžete použiť tento vzorec:

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

Ako vidíte, máme zoznam všetkých študentov, ktorí získali viac ako 60 .

Je zrejmé, že ide o dynamický zoznam. Môžete zmeniť akúkoľvek hodnotu v súbore údajov alebo pridať akúkoľvek novú hodnotu do súboru údajov.

Zoznam sa automaticky upraví.

Vysvetlenie vzorca:

  • COUNTA(C:C) vráti počet riadkov v stĺpci C, ktoré nie sú prázdne. COUNTA(C:C)-1 vráti počet riadkov, ktoré majú hodnoty bez Záhlavie stĺpca ( Meno študenta v tomto príklade).
  • Ak nemáte Záhlavie stĺpca , použite COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) začína od bunky C5 (meno prvého študenta) a vráti rozsah mien všetkých študentov.
  • Stránka OFFSET v kombinácii s funkciou Funkcia COUNTIF Ak sa do súboru údajov pridá ešte jeden študent, vzorec COUNTA(C:C)-1 vzorec sa zvýši o 1 a OFFSET funkcia bude zahŕňať študenta.
  • Podobne, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 vráti TRUE pre všetky značky, ktoré sú väčšie alebo rovné 60 .
  • Nakoniec, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) vráti zoznam všetkých žiakov, ktorí získali viac ako 60 .
  • Ak sa do súboru údajov pridá nový študent, COUNTA(C:C)-1 sa zvyšuje o 1 a FILTER funkcia obnoví výpočet vrátane neho.
  • Vzorec tak zostáva vždy dynamický.

Poznámka:

Ak chcete získať značky spolu s názvami v zozname, stačí zmeniť piaty argument prvého OFFSET funkciu z 1 na 2 .

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

Prípad 2: Na základe viacerých kritérií

Tentoraz vyskúšajme viacero kritérií.

Pokúsime sa vytvoriť dynamický zoznam študentov, ktorí dostali známky vyššie alebo rovné 60, ale ktorých ID je nižšie alebo rovné 200 .

Môžete použiť 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))

Ako vidíte, máme zoznam všetkých žiakov, ktorí získali viac ako 60 a majú ID menej ako 200 .

A netreba hovoriť, že ide o dynamický zoznam.

Ak zmeníte akúkoľvek hodnotu alebo pridáte nového študenta do súboru údajov, zoznam sa automaticky upraví.

Vysvetlenie vzorca:

  • Tu sme 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)
  • Ak máte viac ako 2 kritérií, vynásobte všetky rozsahy kritérií rovnakým spôsobom.
  • Zvyšok je rovnaký ako v predchádzajúcom príklade (jediné kritérium). OFFSET v kombinácii s funkciou COUNTA bola použitá funkcia na zachovanie dynamiky vzorca.

Poznámka:

Ak chcete zobraziť všetky stĺpce v zozname ( Stĺpce B, C, a D v tomto príklade), zmeňte prvý argument prvého OFFSET funkciu do prvého stĺpca ( B5 v tomto príklade) a piatym argumentom celkový počet stĺpcov ( 3 v tomto príklade).

=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))

Čítajte viac: Excel Vytvorte dynamický zoznam z tabuľky (3 jednoduché spôsoby)

2. Používanie INDEX-MATCH s inými funkciami (pre staršie verzie)

Tí, ktorí nemajú Office 365 Predplatné nemožno použiť podľa uvedeného vzorca.

Uvádzam zložitejší spôsob pre tých, ktorí používajú staršiu verziu programu Excel, pomocou INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, a COUNTIFS Všimnite si, že tieto vzorce sú vzorce poľa. Ak ich teda chcete použiť v starších verziách Excelu, musíte stlačiť Ctrl+Shift+Enter namiesto jednoduchého Enter.

Prípad 1: Na základe jedného kritéria

Vzorec na vytvorenie dynamického zoznamu študentov, ktorí získali viac alebo rovných 60, bude nasledovný:

=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)

Ako vidíte, opäť sme získali mená všetkých študentov, ktorí získali viac alebo rovnako ako 60 .

Tentoraz sme sa zoradili podľa vzostupného poradia čísel.

A áno, zoznam je dynamický. Do súboru údajov môžete pridať nového študenta alebo zmeniť známky ktoréhokoľvek študenta v súbore údajov.

Zoznam sa automaticky upraví.

Vysvetlenie vzorca:

  • Tu C:C je stĺpec, z ktorého chceme extrahovať obsah zoznamu ( Meno študenta v tomto príklade). Používate svoj.
  • D:D je stĺpec, v ktorom sa nachádza kritérium ( Priemerné známky v tomto príklade). Používate svoj.
  • C5 a D5 sú bunky, z ktorých boli moje údaje spustené (tesne pod Záhlavia stĺpcov ). Používajte svoj.
  • ">=60" je moje kritérium (Väčšie alebo rovné 60 v tomto príklade). Používate svoj.
  • Okrem týchto niekoľkých zmien ponechajte zvyšok vzorca nezmenený a použite ho vo svojom súbore údajov. Získate dynamický zoznam podľa požadovaného kritéria.

Prípad 2: Na základe viacerých kritérií

Stránka INDEX-MATCH vzorec pre dynamický zoznam založený na viacerých kritériách je trochu zložitejší. Napriek tomu ho uvádzam.

Vzorec na získanie mien žiakov, ktorí získali známky vyššie alebo rovné 60 , ale majú ID menej ako 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)

Vysvetlenie vzorca:

  • Tu C:C je stĺpec, z ktorého chceme získať obsah zoznamu ( Meno študenta v tomto príklade). Používate svoj.
  • B:B a D:D sú stĺpce, v ktorých ležia kritériá ( ID študenta a Priemerné známky v tomto príklade). Používate svoj.
  • B5, C5, a D5 sú bunky, z ktorých boli moje údaje spustené (tesne pod Záhlavia stĺpcov ). Používajte svoj.
  • Znásobil som tu dve kritériá: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Ak máte viac ako dve kritériá, násobte ich podľa toho.
  • Opäť som použil dve kritériá vo vnútri tohto COUNTIFS funkcie: COUNTIFS(B:B,"=60") . Podľa toho ich aj používajte.
  • Zvyšok vzorca ponechajte nezmenený a použite ho v súbore údajov. Získate dynamický zoznam s viacerými kritériami.

Prečítajte si viac: Ako vytvoriť dynamický zoznam na overovanie údajov pomocou VBA v programe Excel

3. Vytvorenie dynamického rozbaľovacieho zoznamu na základe kritérií pomocou nástroja na overovanie údajov

Teraz sme vytvorili dynamický zoznam. Ak chcete, môžete vytvoriť dynamický rozbaľovací zoznam v ľubovoľnej bunke pracovného hárka.

  • Ak chcete vytvoriť dynamický rozbaľovací zoznam, vyberte ľubovoľnú bunku v pracovnom hárku a prejdite na Údaje> Overovanie údajov> Overovanie údajov pod Dátové nástroje sekcia.

  • Získate Overovanie údajov Dialógové okno. V časti Povoľte Vyberte možnosť Zoznam A pod Zdroj zadajte odkaz na prvú bunku, v ktorej sa nachádza zoznam v pracovnom hárku, spolu s HashTag (#) ( $E$5# v tomto príklade).

  • Potom kliknite na tlačidlo OK . Vo vybranej bunke sa zobrazí rozbaľovací zoznam takto.

Prečítajte si viac: Ako vytvoriť dynamický rozbaľovací zoznam pomocou VBA v programe Excel

Ako vytvoriť dynamický jedinečný zoznam v programe Excel na základe kritérií

V tejto časti si ukážeme, ako vytvoriť jedinečný zoznam v programe Excel na základe kritérií. Použijeme kombináciu UNIKÁTNE a FILTER Funkcie. Upravili sme súbor údajov a pridali sme obľúbené hry každého študenta. Teraz chceme zistiť názvy hier, ktoré odstraňujú duplicity pomocou kritérií. Kritériá sú priemerné známky študentov musia byť väčšie ako 60 .

📌 Kroky:

  • Zostavte vzorec na základe kombinácie UNIKÁTNE a FILTER funkcie na Bunka G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60))

Na základe kritérií získame jedinečný zoznam.

Vysvetlenie vzorca:

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

Tým sa filtrujú hodnoty Rozsah E5:E25 s podmienkou, že priemerná známka musí byť vyššia ako 60 .

Výsledok: [Tenis, Volejbal, Rugby, Tenis, Futbal, Rugby, Rugby, Futbal]

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

Vráti všetky jedinečné hodnoty z predchádzajúceho výsledku.

Výsledok: [Tenis, Volejbal, Rugby, Futbal]

Záver

Pomocou týchto metód môžete vytvoriť dynamický zoznam na základe jedného alebo viacerých kritérií v ľubovoľnom súbore údajov v programe Excel. Pozrite si našu webovú stránku ExcelWIKI a uveďte svoje návrhy v políčku pre komentáre.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.