Како направити динамичку листу у Екцелу на основу критеријума (3 начина)

  • Деле Ово
Hugh West

Данас ћу показати како да направите динамичку листу на основу једног или више критеријума у ​​Екцел-у.

Преузмите радну свеску за вежбу

Динамичка листа заснована на Цритериа.клск

Шта је динамичка листа у Екцел-у?

Динамичка листа је листа која се креира из скупа података и аутоматски се ажурира када се било која вредност у оригиналном скупу података промени или се нове вредности додају оригиналном скупу података.

На датој слици имамо списак имена свих ученика који су на испиту добили оцене веће од 60 .

Сада ако промените оцене Џенифер Марло са 68 на 58 и додате новог ученика по имену Рос Смит са оценама 81 у табели, листа ће аутоматски се прилагођава.

Ово се зове динамичка листа.

3 начина за креирање динамичке листе у Екцел-у на основу критеријума

Овде имамо скуп података са Ученичким ИД-овима, Именима, и Оценама неких ученика у школи која се зове Сунфловер киндергартен.

Наш циљ данас је да направимо динамичку листу на основу критеријума из овог скупа података. Данас ћемо користити и један и више критеријума.

1. Коришћење функција ФИЛТЕР и ОФФСЕТ (за нове верзије Екцел-а)

Пре свега, користићемо комбинацију ФИЛТЕР , ОФФСЕТ и ЦОУНТА функције Екцел-а.

Функција ФИЛТЕР доступан је само у Оффице 365 . Дакле, ово је само за оне који имају претплату на Оффице 365 .

Случај 1: на основу јединствених критеријума

Покушајмо да направимо динамичку списак ученика чије су просечне оцене веће или једнаке 60 .

Можете користити ову формулу:

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

Као што видите, имамо листу свих ученика који су добили више од 60 .

И очигледно, ово је динамика листа. Ви мењате било коју вредност у скупу података или додајете било коју нову вредност у скуп података.

Листа ће се аутоматски прилагодити.

Објашњење формуле:

  • COUNTA(C:C) враћа број редова у колони Ц који нису празни. Дакле, COUNTA(C:C)-1 враћа број редова који имају вредности без Заглавља колоне ( Име ученика у овом примеру).
  • Ако не ако имате Заглавље колоне , користите COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) почиње од ћелије Ц5 (име првог ученика) и враћа опсег имена свих ученика.
  • Функција ОФФСЕТ у комбинацији са функцијом ЦОУНТИФ је коришћена да се формула задржи динамичком. Ако се у скуп података дода још један ученик, формула COUNTA(C:C)-1 ће се повећати за 1 и функција ОФФСЕТ ће укључити ученика.
  • Слично, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 враћа ТРУЕ за све ознаке које су веће или једнаке 60 .
  • Коначно, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) враћа листу свих ученика који су добили више од 60 .
  • Ако сваки нови ученик се додаје скупу података, COUNTA(C:C)-1 повећава се за 1 , а функција ФИЛТЕР освежава прорачун укључујући и њега.
  • Овако формула увек остаје динамична.

Напомена:

Ако желите да добијете ознаке заједно са именима на листи, само промените пети аргумент прва функција ОФФСЕТ од 1 до 2 .

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

Случај 2: На основу више критеријума

Покушајмо овај пут са више критеријума.

Покушаћемо да направимо динамичку листу ученика који добио оцене веће или једнаке 60, али чији су ИД-ови мањи или једнаки 200 .

Можете користити ову формулу:

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

Као што видите, имамо списак свих ученика који су добили више од 60 и имају ИД је мањи од 200 .

И нема потребе да кажете, ово је динамичка листа.

Ако промените било коју вредност или додате новог ученика у скуп података, листа ће се аутоматски прилагодити.

Објашњење формуле:

  • Овде смо помножили два динамичка опсега критеријума, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Ако имате више од 2 критеријума, помножите све опсеге критеријума на исти начин.
  • Остало је исто као у претходном примеру (појединачних критеријума).Функција ОФФСЕТ у комбинацији са функцијом ЦОУНТА је коришћена за одржавање динамичке формуле.

Напомена:

Ако желите да видите све колоне на листи ( Колоне Б, Ц, и Д у овом примеру), промените први аргумент првог ОФФСЕТ на прву колону ( Б5 у овом примеру), а пети аргумент на укупан број колона ( 3 у овом примеру).

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

Прочитајте више: Екцел Креирај Динамиц Листа из табеле (3 лака начина)

2. Коришћење ИНДЕКС-МАТЦХ са другим функцијама (за старе верзије)

Они који немају Оффице 365 претплата не може да користи горњу формулу.

Показујем сложенији начин за оне који користе старију верзију Екцел-а, користећи ИНДЕКС-МАТЦХ, ОФФСЕТ, СМАЛЛ, ИФ, РОВ, ЦОУНТИФ, и ЦОУНТИФС функције Екцел-а. Имајте на уму да су ове формуле формуле низа. Дакле, да бисте их применили у старијим верзијама Екцел-а, морате да притиснете Цтрл+Схифт+Ентер уместо само Ентер.

Случај 1: На основу једног критеријума

Формула за креирање динамичке листе ученика који су добили више или једнако 60 биће:

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

Као што видите, поново смо добили имена свих ученика који су добили више од или једнако 60 .

Овог пута смо ушли у успонредослед бројева.

И да, листа је динамична. Додајте новог ученика у скуп података или промените оцене било ког ученика у скупу података.

Листа ће се аутоматски прилагодити.

Објашњење Формула:

  • Овде Ц:Ц је колона из које желимо да издвојимо садржај листе ( Име ученика у овом пример). Ви користите своју.
  • Д:Д је колона у којој се крије критеријум ( Просечне оцене у овом примеру). Ви користите своју.
  • Ц5 и Д5 су ћелије одакле су започети моји подаци (одмах испод Заглавља колона ). Користите свој.
  • “&гт;=60” је мој критеријум (веће или једнако 60 у овом примеру). Ви користите своју.
  • Осим ових неколико измена, оставите остатак формуле непромењеним и користите је у свом скупу података. Добићете динамичку листу у складу са вашим жељеним критеријумом.

Случај 2: На основу више критеријума

Тхе ИНДЕКС-МАТЦХ формула за динамичку листу засновану на више критеријума је мало сложенија. Ипак, показујем је.

Формула за добијање имена ученика који су добили оцене веће или једнаке 60 , али имају ИД мање од 200 биће;

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

Објашњење формуле:

  • Овде Ц:Ц је колона из које желимо доиздвојити садржај листе ( Име ученика у овом примеру). Ви користите своју.
  • Б:Б и Д:Д су колоне у којима се налазе критеријуми ( ИД ученика и Просечне оцене у овом примеру). Ви користите своју.
  • Б5, Ц5, и Д5 су ћелије одакле су започети моји подаци (одмах испод Заглавља колона ). Користите свој.
  • Овде сам помножио два критеријума: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Ако имате више од два критеријума, помножите у складу са тим.
  • Поново сам користио два критеријума унутар ове функције ЦОУНТИФС : COUNTIFS(B:B,"=60") . Користите своје у складу са тим.
  • Оставите остатак формуле непромењеним и користите је у свом скупу података. Добићете динамичку листу са више критеријума.

Прочитајте више: Како да направите листу за динамичку проверу ваљаности података користећи ВБА у Екцел-у

3 . Креирајте динамичку падајућу листу на основу критеријума користећи алатку за проверу ваљаности података

Сада смо направили динамичку листу. Ако желите, можете направити динамичку падајућу листу у било којој ћелији радног листа.

  • Да бисте креирали динамичку падајућу листу, изаберите било коју ћелију на радном листу и идите на Подаци &гт; Валидација података &гт; Валидација података у одељку Алати за податке .

  • Добићете Проверу ваљаности података оквир за дијалог. У оквиру опције Дозволи изаберите Листа . А под опцијом Извор ,унесите референцу прве ћелије у којој се налази листа на вашем радном листу заједно са ХасхТаг (#) ( $Е$5# у овом примеру).

  • Затим кликните на ОК . Добићете падајућу листу у одабраној ћелији овако.

Прочитајте више: Како да направите динамичку падајућу листу користећи ВБА у Екцел-у

Како да креирате динамичку јединствену листу у Екцел-у на основу критеријума

У овом одељку ћемо показати како да направите јединствену листу у Екцел-у на основу критеријума. Користићемо комбинацију функција УНИКУЕ и ФИЛТЕР . Изменили смо скуп података и додали омиљене игре сваког ученика. Сада желите да знате назив игара које уклањају дупликате са критеријумима. Критеријуми су да просечне оцене ученика морају бити веће од 60 .

📌 Кораци:

  • Ставите формулу засновану на комбинацији функција УНИКУЕ и ФИЛТЕР на ћелију Г5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Добијамо јединствену листу на основу критеријума.

Објашњење Формула:

  • ФИЛТЕР(Е5:Е25,(Д5:Д25&гт;60)

Ово филтрира вредности Распон Е5:Е25 , уз услов да просечне оцене морају бити изнад 60 .

Резултат: [тенис, одбојка, рагби, тенис, фудбал, рагби, Рагби, фудбал]

  • УНИКУЕ(ФИЛТЕР(Е5:Е25,(Д5:Д25&гт;60)))

Ово враћа све јединственовредности из претходног резултата.

Резултат: [тенис, одбојка, рагби, фудбал]

Закључак

Коришћење ових методама, можете креирати динамичку листу на основу једног или више критеријума у ​​било ком скупу података у програму Екцел. Погледајте нашу веб страницу ЕкцелВИКИ и дајте своје предлоге у пољу за коментаре.

Хју Вест је веома искусан Екцел тренер и аналитичар са више од 10 година искуства у индустрији. Дипломирао је рачуноводство и финансије и магистрирао пословну администрацију. Хју има страст према подучавању и развио је јединствен приступ подучавању који је лако пратити и разумети. Његово стручно знање о Екцел-у помогло је хиљадама студената и професионалаца широм света да унапреде своје вештине и постану успешни у каријери. Кроз свој блог, Хју дели своје знање са светом, нудећи бесплатне Екцел туторијале и онлајн обуку како би помогли појединцима и предузећима да остваре свој пуни потенцијал.