Како да креирате динамична листа во Excel врз основа на критериуми (3 начини)

  • Споделете Го Ова
Hugh West

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

Преземете ја работната книга за вежбање

Динамична листа заснована на Criteria.xlsx

Што е динамична листа во Excel?

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

На дадената слика имаме список со имињата на сите ученици кои добиле оценки поголеми од 60 на испитот.

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

Ова се нарекува динамична листа.

3 начини за создавање динамична листа во Excel врз основа на критериуми

Овде имаме збир на податоци со Ученички ИД, Имиња, и Ознаки на некои ученици во училиште наречено градинка „Сончоглед“.

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

1. Користење на функциите FILTER и OFFSET (за нови верзии на Excel)

Прво, ќе користиме комбинација од FILTER , OFFSET и COUNTA функции на Excel.

Функцијата FILTER е достапна само во Office 365 . Значи ова е само за оние кои имаат претплата Office 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) го враќа бројот на редови во колоната C кои не се празни. Значи COUNTA(C:C)-1 го враќа бројот на редови кои имаат вредности без Заглавие на колоната ( Име на ученикот во овој пример).
  • Ако немате да имате Заглавие на колона , користете COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) почнува од ќелијата C5 (Име на првиот ученик) и враќа опсег од имињата на сите ученици.
  • Функцијата OFFSET во комбинација со функцијата COUNTIF се користи за одржување на формулата динамична. Ако се додаде уште еден ученик во множеството податоци, формулата COUNTA(C:C)-1 ќе се зголеми за 1 и функцијата OFFSET ќе го вклучи ученикот.
  • Слично, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 враќа TRUE за сите ознаки што се поголеми или еднакви на 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 , а функцијата FILTER ја освежува пресметката вклучувајќи ја.
  • Така формулата секогаш останува динамична.

Забелешка:

Ако сакате да ги добиете ознаките заедно со имињата во списокот, само сменете го петтиот аргумент на првата функција OFFSET од 1 до 2 .

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

Случај 2: Врз основа на повеќе критериуми

Ајде овојпат да се обидеме со повеќе критериуми.

Ќе се обидеме да направиме динамична листа на студенти кои доби оценки повеќе од или еднакви на 60, но чии ID се помали или еднакви на 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 и имаат ID е помал од 200 .

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

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

Објаснување на формулата:

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

Забелешка:

Ако сакате да ги видите сите колони во списокот ( Колони B, C, и D во овој пример), сменете го првиот аргумент од првиот OFFSET Функцијата во првата колона ( B5 во овој пример) и петтиот аргумент за вкупниот број на колони ( 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))

Прочитај повеќе: Excel Create Dynamic Список од табелата (3 лесни начини)

2. Користење INDEX-MATCH со други функции (за стари верзии)

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

Покажувам покомплексен начин за оние кои ја користат постарата верзија на Excel, користејќи го INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, и COUNTIFS функциите на Excel. Забележете дека овие формули се формули на низа. Значи, за да ги примените во постарите верзии на Excel, треба да притиснете Ctrl+Shift+Enter наместо само Enter.

Случај 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 .

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

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

Списокот автоматски ќе се приспособи.

Објаснување за Формулата:

  • Овде C:C е колоната од која сакаме да ја извлечеме содржината на списокот ( Име на ученикот во ова пример). Го користите вашиот.
  • D:D е колоната каде што лежи критериумот ( Просечни оценки во овој пример). Го користите вашиот.
  • C5 и D5 се ќелиите од каде што се започнати моите податоци (веднаш под Заглавија на колони ). Вие го користите вашиот.
  • „>=60“ е мојот критериум (Поголем или еднаков на 60 во овој пример). Вие ја користите вашата.
  • Освен овие неколку промени, останатиот дел од формулата чувајте го непроменет и користете го во вашиот сет на податоци. Ќе добиете динамична листа според посакуваниот критериум.

Случај 2: Врз основа на повеќе критериуми

INDEX-MATCH формулата за динамична листа заснована на повеќе критериуми е малку посложена. Сепак, го покажувам.

Формулата за да се добијат имињата на учениците кои добиле оценки поголеми од или еднакви на 60 , но имаат ID и помали од 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)

Објаснување на формулата:

  • Тука C:C е колоната од која сакаме доизвлечете ја содржината на листата ( Име на ученикот во овој пример). Вие го користите вашиот.
  • B:B и D:D се колоните каде што лежат критериумите ( Student ID и Просечни оценки во овој пример). Вие го користите вашиот.
  • B5, C5, и D5 се ќелиите од каде што се започнати моите податоци (веднаш под Заглавија на колони ). Ти го користиш својот.
  • Тука помножив два критериуми: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Ако имаш повеќе од два критериуми, множи соодветно.
  • Повторно ги користев двата критериуми внатре во оваа функција COUNTIFS : COUNTIFS(B:B,"=60") . Соодветно ги користите вашите.
  • Остатокот од формулата чувајте го непроменет и користете го во вашиот сет на податоци. Ќе добиете динамична листа со повеќе критериуми.

Прочитајте повеќе: Како да направите листа за валидација на динамички податоци користејќи VBA во Excel

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

Сега ја создадовме динамичната листа. Ако сакате, можете да создадете динамична паѓачка листа во која било ќелија од вашиот работен лист.

  • За да ја креирате динамичната паѓачка листа, изберете која било ќелија во вашиот работен лист и одете на Податоци > Валидација на податоци > Валидација на податоци во делот Алатки за податоци .

  • Ќе ја добиете Потврда на податоци дијалог-кутија. Под опцијата Дозволи , изберете Список . И под опцијата Извор ,внесете ја референцата на првата ќелија каде што е списокот во вашиот работен лист заедно со HashTag (#) ( $E$5# во овој пример).

  • Потоа кликнете OK . Ќе добиете паѓачка листа во вашата избрана ќелија како оваа.

Прочитајте повеќе: Како да креирате динамична паѓачка листа користејќи VBA во Excel

Како да креирате динамична единствена листа во Excel врз основа на критериуми

Во овој дел, ќе покажеме како да креирате единствена листа во Excel врз основа на критериуми. Ќе користиме комбинација од функциите UNIQUE и FILTER . Ја изменивме базата на податоци и ги додадовме омилените игри на секој ученик. Сега, сакате да го знаете името на игрите што отстрануваат дупликати со критериуми. Критериумите се просечните оценки на студентите мора да бидат поголеми од 60 .

📌 Чекори:

  • Ставете ја формулата заснована на комбинацијата на функциите UNIQUE и FILTER на Cell G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

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

Објаснување на Формулата:

  • ФИЛТЕР(E5:E25,(D5:D25>60)

Ова ги филтрира вредностите на Опсег E5:E25 , со услов просечните оценки да бидат над 60 .

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

  • УНИКАТЕН(ФИЛТЕР(E5:E25,(D5:D25>60)))

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

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

Заклучок

Користејќи ги овие методи, можете да креирате динамична листа заснована на единечни или повеќе критериуми во кое било множество податоци во Excel. Ве молиме погледнете ја нашата веб-страница ExcelWIKI и дајте ги вашите предлози во полето за коментари.

Хју Вест е високо искусен тренер и аналитичар на Excel со повеќе од 10 години искуство во индустријата. Има диплома за сметководство и финансии и магистер по бизнис администрација. Хју има страст за предавање и има развиено уникатен пристап на наставата кој е лесен за следење и разбирање. Неговото стручно познавање на Excel им помогна на илјадници студенти и професионалци ширум светот да ги подобрат своите вештини и да се истакнат во нивните кариери. Преку својот блог, Хју го споделува своето знаење со светот, нудејќи бесплатни упатства за Excel и онлајн обука за да им помогне на поединците и бизнисите да го достигнат својот целосен потенцијал.