Kaip sukurti dinaminį sąrašą "Excel" programoje pagal kriterijus (3 būdai)

  • Pasidalinti
Hugh West

Šiandien parodysiu, kaip "Excel" programoje sukurti dinaminį sąrašą pagal vieną ar kelis kriterijus.

Atsisiųsti praktikos sąsiuvinį

Dinaminis sąrašas pagal kriterijus.xlsx

Kas yra dinaminis sąrašas programoje "Excel"?

Dinaminis sąrašas - tai iš duomenų rinkinio sukurtas sąrašas, kuris automatiškai atnaujinamas, kai pasikeičia bet kuri pradinio duomenų rinkinio reikšmė arba į pradinį duomenų rinkinį įtraukiamos naujos reikšmės.

Pateiktame paveikslėlyje yra visų mokinių, gavusių didesnius nei 1,5 balo, vardų ir pavardžių sąrašas. 60 egzamino metu.

Dabar, jei pakeisite Jennifer Marlo ženklus iš 68 į 58 ir pridėkite naują mokinį, vardu Ross Smith, su pažymiais 81 lentelėje, sąrašas bus pritaikytas automatiškai.

Šis sąrašas vadinamas dinaminiu sąrašu.

3 būdai, kaip "Excel" programoje sukurti dinaminį sąrašą pagal kriterijus

Čia turime duomenų rinkinį su Studentų pažymėjimai, Vardai ir pavardės, ir Žymos kai kurių mokinių mokykloje, vadinamoje "Saulėgrąžų darželiu".

Šiandien mūsų tikslas - sudaryti dinaminį sąrašą pagal šio duomenų rinkinio kriterijus. Šiandien naudosime ir vieną, ir kelis kriterijus.

1. FILTER ir OFFSET funkcijų naudojimas (naujoms "Excel" versijoms)

Pirmiausia naudosime FILTRAS , OFFSET , ir COUNTA "Excel" funkcijas.

Svetainė FILTRAS funkcija yra prieinama "Office 365 Taigi tai skirta tik tiems, kurie turi "Office 365 prenumerata.

1 atvejis: pagal vieną kriterijų

Pabandykime sudaryti dinaminį sąrašą mokinių, kurių pažymių vidurkis yra didesnis arba lygus 60 .

Galite naudoti šią formulę:

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

Kaip matote, turime sąrašą visų mokinių, kurie gavo daugiau nei 60 .

Akivaizdu, kad tai yra dinaminis sąrašas. Galite pakeisti bet kurią duomenų rinkinio reikšmę arba įtraukti į duomenų rinkinį bet kurią naują reikšmę.

Sąrašas bus pritaikytas automatiškai.

Formulės paaiškinimas:

  • COUNTA(C:C) grąžina C stulpelio eilučių, kurios nėra tuščios, skaičių. COUNTA(C:C)-1 grąžina eilučių, kuriose yra reikšmės be Stulpelio antraštė ( Mokinio vardas ir pavardė šiame pavyzdyje).
  • Jei neturite Stulpelio antraštė , naudokite COUNTA(C:C)
  • OFFSET(C5,0,0,0,COUNTA(C:C)-1,1) prasideda nuo ląstelės C5 (Pirmojo mokinio vardas) ir grąžinamas visų mokinių vardų intervalas.
  • Svetainė OFFSET funkciją kartu su COUNTIF funkcija Jei į duomenų rinkinį įtraukiamas dar vienas mokinys, formulė išlieka dinamiška. COUNTA(C:C)-1 formulė padidės 1 ir OFFSET funkcija įtrauks mokinį.
  • Panašiai, OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60 grąžina TRUE visiems ženklams, kurie yra didesni arba lygūs 60 .
  • Galiausiai, FILTRAS(OFFSET(C5,0,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60) grąžina visų mokinių, kurie gavo daugiau nei 60 .
  • Jei į duomenų rinkinį įtraukiamas naujas mokinys, COUNTA(C:C)-1 padidėja 1 , ir FILTRAS funkcija atnaujina skaičiavimus, į kuriuos ji įtraukta.
  • Taigi formulė visada išlieka dinamiška.

Pastaba:

Jei norite gauti ženklus kartu su sąrašo pavadinimais, tiesiog pakeiskite penktąjį pirmojo argumentą OFFSET funkcija iš 1 į 2 .

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

2 atvejis: remiantis keliais kriterijais

Šį kartą išbandykime kelis kriterijus.

Bandysime sudaryti dinaminį sąrašą mokinių, kurių pažymiai didesni arba lygūs 60, bet kurių ID yra mažesni arba lygūs 200 .

Galite naudoti šią formulę:

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

Kaip matote, turime sąrašą visų mokinių, kurie gavo daugiau nei 60 ir turi ID mažiau nei 200 .

Ir nereikia sakyti, kad tai yra dinamiškas sąrašas.

Jei pakeisite kokią nors reikšmę arba į duomenų rinkinį įtrauksite naują mokinį, sąrašas bus pakoreguotas automatiškai.

Formulės paaiškinimas:

  • Šiuo atveju padauginome du dinaminius kriterijų diapazonus, (OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200)
  • Jei turite daugiau nei 2 kriterijų, visus kriterijų intervalus padauginkite vienodai.
  • Likusi dalis yra tokia pati kaip ir ankstesniame pavyzdyje (vieno kriterijaus). OFFSET funkciją kartu su COUNTA funkcija naudojama tam, kad formulė būtų dinamiška.

Pastaba:

Jei norite matyti visus sąrašo stulpelius ( B, C stulpeliai, ir D šiame pavyzdyje), pakeiskite pirmojo argumento OFFSET funkciją į pirmąjį stulpelį ( B5 šiame pavyzdyje), o penktasis argumentas - bendras stulpelių skaičius ( 3 šiame pavyzdyje).

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

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

Skaityti daugiau: "Excel" dinamiško sąrašo kūrimas iš lentelės (3 paprasti būdai)

2. INDEX-MATCH naudojimas su kitomis funkcijomis (senosioms versijoms)

Tie, kurie neturi "Office 365 prenumeratos negalima naudoti pirmiau pateiktos formulės.

Tiems, kurie naudoja senesnę "Excel" versiją, pateikiu sudėtingesnį būdą, naudojant INDEKSŲ ATITIKIMAS, POSLINKIS, MAŽAS, IF, EILUTĖ, COUNTIF, ir COUNTIFS Atkreipkite dėmesį, kad šios formulės yra masyvo formulės. Taigi, norėdami jas taikyti senesnėse "Excel" versijose, turite paspausti Ctrl+Shift+Enter o ne tik Enter.

1 atvejis: pagal vieną kriterijų

Mokinių, kurie surinko daugiau arba lygu 60, dinaminio sąrašo sudarymo formulė bus tokia:

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

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

Kaip matote, vėl gavome visų mokinių, kurie gavo daugiau arba tiek pat, vardus ir pavardes. 60 .

Šį kartą numeriai išdėstyti didėjančia tvarka.

Taip, sąrašas yra dinamiškas. Į duomenų rinkinį įtraukite naują mokinį arba pakeiskite bet kurio duomenų rinkinyje esančio mokinio pažymius.

Sąrašas bus pritaikytas automatiškai.

Formulės paaiškinimas:

  • Čia C:C yra stulpelis, iš kurio norime ištraukti sąrašo turinį ( Mokinio vardas ir pavardė šiame pavyzdyje). Jūs naudojate savo.
  • D:D stulpelis, kuriame yra kriterijus ( Vidutiniai ženklai šiame pavyzdyje). Jūs naudojate savo.
  • C5 ir D5 yra langeliai, nuo kurių buvo pradėti mano duomenys (iškart po Stulpelių antraštės ). Jūs naudojate savo.
  • ">=60" yra mano kriterijus (Didesnis arba lygus 60 šiame pavyzdyje). Jūs naudojate savo.
  • Be šių kelių pakeitimų, likusią formulės dalį palikite nepakeistą ir naudokite ją savo duomenų rinkinyje. Gausite dinamišką sąrašą pagal norimą kriterijų.

2 atvejis: remiantis keliais kriterijais

Svetainė INDEX-MATCH dinaminio sąrašo, sudaryto pagal kelis kriterijus, formulė yra šiek tiek sudėtingesnė. Vis dėlto ją pateikiu.

Formulė, pagal kurią gaunami mokinių, gavusių didesnius arba lygius balus, vardai ir pavardės 60 , bet turi ID mažiau nei 200 bus;

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

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

Formulės paaiškinimas:

  • Čia C:C yra stulpelis, iš kurio norime ištraukti sąrašo turinį ( Mokinio vardas ir pavardė šiame pavyzdyje). Jūs naudojate savo.
  • B:B ir D:D yra stulpeliai, kuriuose yra kriterijai ( Studento ID ir Vidutiniai ženklai šiame pavyzdyje). Jūs naudojate savo.
  • B5, C5, ir D5 yra langeliai, nuo kurių buvo pradėti mano duomenys (iškart po Stulpelių antraštės ). Jūs naudojate savo.
  • Čia padauginau du kriterijus: (OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200) .Jei turite daugiau nei du kriterijus, atitinkamai padauginkite.
  • Vėl naudoju du kriterijus, esančius šiame COUNTIFS funkcija: COUNTIFS(B:B,"=60") . Atitinkamai naudokitės jais.
  • Likusią formulės dalį palikite nepakeistą ir naudokite ją savo duomenų rinkinyje. Gausite dinaminį sąrašą su keliais kriterijais.

Skaityti daugiau: Kaip "Excel" programoje sukurti dinaminį duomenų patvirtinimo sąrašą naudojant VBA

3. Sukurti dinaminį išskleidžiamąjį sąrašą pagal kriterijus naudojant duomenų patvirtinimo įrankį

Dabar sukūrėme dinaminį sąrašą. Jei norite, galite sukurti dinaminį išskleidžiamąjį sąrašą bet kurioje darbalapio ląstelėje.

  • Norėdami sukurti dinaminį išskleidžiamąjį sąrašą, pasirinkite bet kurią darbalapio ląstelę ir eikite į Duomenys> Duomenų patvirtinimas> Duomenų patvirtinimas pagal Duomenų įrankiai skyrius.

  • Gausite Duomenų patvirtinimas dialogo langas. Leisti Pasirinkite Sąrašas . Ir pagal Šaltinis įveskite pirmosios ląstelės, kurioje yra sąrašas, nuorodą ir HashTag (#) ( $E$5# šiame pavyzdyje).

  • Tada spustelėkite GERAI . Pasirinktoje ląstelėje gausite tokį išskleidžiamąjį sąrašą.

Skaityti daugiau: Kaip sukurti dinaminį išskleidžiamąjį sąrašą naudojant VBA programoje "Excel

Kaip "Excel" programoje sukurti dinaminį unikalų sąrašą pagal kriterijus

Šiame skyriuje parodysime, kaip "Excel" programoje pagal kriterijus sukurti unikalų sąrašą. Naudosime derinį UNIKALUS ir FILTRAS funkcijos. Pakeitėme duomenų rinkinį ir įtraukėme kiekvieno mokinio mėgstamiausius žaidimus. Dabar norime sužinoti žaidimų pavadinimus, pašalindami pasikartojančius žaidimus pagal kriterijus. Kriterijai yra šie: mokinių pažymių vidurkis turi būti didesnis nei 60 .

📌 Žingsniai:

  • Įrašykite formulę, pagrįstą UNIKALUS ir FILTRAS funkcijos Ląstelė G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60))

Gauname unikalų sąrašą pagal kriterijus.

Formulės paaiškinimas:

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

Taip filtruojamos reikšmės Diapazonas E5:E25 su sąlyga, kad pažymių vidurkis turi būti didesnis nei 60 .

Rezultatas: [Tenisas, Tinklinis, Regbis, Tenisas, Futbolas, Regbis, Regbis, Futbolas]

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

Grąžinamos visos unikalios ankstesnio rezultato reikšmės.

Rezultatas: [Tenisas, tinklinis, regbis, futbolas]

Išvada

Naudodami šiuos metodus galite sukurti dinaminį sąrašą pagal vieną ar kelis kriterijus iš bet kokio "Excel" duomenų rinkinio. Peržiūrėkite mūsų svetainę ExcelWIKI ir pateikite savo pasiūlymus komentarų lauke.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.