Змест
Сёння я пакажу, як стварыць дынамічны спіс на аснове аднаго або некалькіх крытэрыяў у 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 , і функцыя ФІЛЬТР абнаўляе вылічэнне, уключаючы яго. - Такім чынам формула заўсёды застаецца дынамічнай.
Заўвага:
Калі вы хочаце атрымаць адзнакі разам з імёнамі ў спісе, проста змяніце пяты аргумент у першая функцыя 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, але чые ідэнтыфікатары меншыя або роўныя 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 у гэтым прыкладзе), змяніце першы аргумент першага ЗРУШЭННЯ да першага слупка ( 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, Функцыі Excel OFFSET, SMALL, IF, ROW, COUNTIF, і COUNTIFS . Звярніце ўвагу, што гэтыя формулы з'яўляюцца формуламі масіваў. Такім чынам, каб прымяніць іх у старых версіях 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 - гэта слупкі, дзе знаходзяцца крытэрыі ( Ідэнтыфікатар студэнта і Сярэдні бал у гэтым прыкладзе). Вы карыстаецеся сваім.
- B5, C5, і D5 гэта ячэйкі, з якіх былі пачаты мае даныя (адразу пад Загалоўкамі слупкоў<4)>). Вы карыстаецеся сваім.
- Я памножыў тут два крытэрыі:
(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 . Стварыце дынамічны выпадальны спіс на аснове крытэрыяў з дапамогай інструмента праверкі даных
Цяпер мы стварылі дынамічны спіс. Пры жаданні вы можаце стварыць дынамічны выпадальны спіс у любой ячэйцы працоўнага аркуша.
- Каб стварыць дынамічны выпадальны спіс, выберыце любую ячэйку працоўнага аркуша. і перайдзіце да Даныя > Праверка даных > Праверка даных у раздзеле Інструменты даных .
- Вы атрымаеце Праверку даных дыялогавае акно. У раздзеле Дазволіць выберыце Спіс . І пад опцыяй Крыніца ,увядзіце спасылку на першую ячэйку, у якой знаходзіцца спіс, на вашым аркушы разам з хэштэгам (#) ( $E$5# у гэтым прыкладзе).
- Затым націсніце ОК . Вы атрымаеце выпадальны спіс у абранай ячэйцы, як гэта.
Больш падрабязна: Як стварыць дынамічны выпадальны спіс з дапамогай VBA ў Excel
Як стварыць дынамічны унікальны спіс у Excel на аснове крытэрыяў
У гэтым раздзеле мы пакажам, як стварыць унікальны спіс у Excel на аснове крытэрыі. Мы будзем выкарыстоўваць камбінацыю функцый UNIQUE і FILTER . Мы змянілі набор даных і дадалі любімыя гульні кожнага студэнта. Цяпер хочаце даведацца назву гульняў, якія выдаляюць дублікаты з крытэрыямі. Крытэрыі: сярэднія адзнакі студэнтаў павінны перавышаць 60 .
📌 Крокі:
- Змесціце формулу на аснове камбінацыі функцый UNIQUE і FILTER у Cell G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))
Мы атрымліваем унікальны спіс на аснове крытэрыяў.
Тлумачэнне формула:
- FILTER(E5:E25,(D5:D25>60)
Гэта фільтруе значэнні Дыяпазон E5:E25 , пры ўмове, што сярэдні бал павінен быць вышэй за 60 .
Вынік: [Тэніс, Валейбол, Рэгбі, Тэніс, Футбол, Рэгбі, Рэгбі, футбол]
- УНІКАЛЬНЫ(ФІЛЬТР(E5:E25,(D5:D25>60)))
Гэта вяртае усе унікальныязначэнні папярэдняга выніку.
Вынік: [Тэніс, валейбол, рэгбі, футбол]
Выснова
Выкарыстоўваючы гэтыя метадамі, вы можаце стварыць дынамічны спіс на аснове аднаго або некалькіх крытэрыяў у любым наборы даных у Excel. Калі ласка, зазірніце на наш сайт ExcelWIKI і дайце свае прапановы ў полі для каментарыяў.