Съдържание
В урока е показано как да създадете падащ списък на Excel, зависещ от друга клетка, като използвате нови функции за динамични масиви.
Създаването на прост падащ списък в Excel е лесно. Създаването на каскаден падащ списък на няколко нива винаги е било предизвикателство. В посочения по-горе урок са описани четири различни подхода, всеки от които включва безумно много стъпки, множество различни формули и няколко ограничения, свързани с многословни записи, празни клетки и т.н.
Това беше лошата новина. Добрата новина е, че тези методи бяха разработени за версиите на Excel, които не бяха динамични. Въвеждането на динамични масиви в Excel 365 промени всичко! С новите функции за динамични масиви създаването на падащ списък с множество зависимости е въпрос на минути, ако не и на секунди. Няма трикове, няма уговорки, няма глупости. Има само бързи, ясни и лесни за следване решения.
Забележки:
- Този нов начин за създаване на падащи списъци с динамични масиви работи само в Excel 365 и Excel 2021. В преддинамичния Excel ще трябва да го направите по старомодния начин, както е описано в Създаване на зависим падащ списък в Excel 2019 - 2007.
- Това решение е за един ред. Ако искате да копирате списъците си за избор надолу множество редове , след което следвайте инструкциите в падащия списък "Зависими" за множество редове.
- Изберете клетката, в която искате да се появи падащото меню (D3 в нашия случай).
- На Данни в раздела Инструменти за данни група, щракнете върху Утвърждаване на данните .
- В Утвърждаване на данните диалогов прозорец, направете следното:
- Под Позволете , изберете Списък .
- В Източник: въведете препратката към диапазона на разливане, изведен от формулата UNIQUE. За целта въведете хеш тага веднага след препратката към клетката, както е показано по-долу: =$G$3#
Това се нарича референция за обхват на разливане и този синтаксис се отнася за целия обхват, независимо от това колко се разширява или свива.
- Кликнете върху ОК за да затворите диалоговия прозорец.
- Да имате включени нови вписвания в падащия списък автоматично , оформете изходните си данни като таблица на Excel. Или можете да включите няколко празни клетки във формулите си, както е показано в този пример.
- Ако в първоначалните ви данни има пропуски, можете да филтриране на празните места като използвате това решение.
- За сортиране по азбучен ред елементите на падащо меню, обгърнете формулите си във функцията SORT, както е обяснено в този пример.
- За включване на нови данни автоматично се добавя към списъка с източници, добавете няколко допълнителни клетки към масивите, към които се отнасят формулите.
- За изключване на празни клетки , конфигурирайте формулите да пренебрегват празните клетки, докато не се запълнят.
Как да направите динамичен падащ списък в Excel
Този пример демонстрира общия подход за създаване на каскаден падащ списък в Excel с помощта на новите функции за динамични масиви.
Да предположим, че имате списък с плодове в колона А и износители в колона Б. Допълнително усложнение е, че имената на плодовете не са групирани, а са разпръснати в колоната. Целта е да поставите уникалните имена на плодове в първия падащ списък и в зависимост от избора на потребителя да покажете съответните износители във втория падащ списък.
За да създадете динамичен зависим падащ списък в Excel, изпълнете следните стъпки:
1. Получаване на елементи за основния падащ списък
За начало ще извлечем всички различни имена на плодове от колона А. Това може да стане с помощта на функцията UNIQUE в нейната най-проста форма - като първи аргумент се предоставя списъкът с плодове ( масив ) и да пропуснете останалите незадължителни аргументи, тъй като те са по подразбиране, което ни устройва:
=UNIQUE(A3:A15)
Формулата отива в G3 и след натискане на клавиша Enter резултатите се преливат автоматично в следващите клетки.
2. Създаване на основния падащ списък
За да направите основния си падащ списък, конфигурирайте правило за валидиране на данни в Excel по този начин:
Вашият основен падащ списък е готов!
3. Получаване на елементи за зависимия падащ списък
За да получим записи за второто падащо меню, ще филтрираме стойностите в колона B въз основа на стойността, избрана в първото падащо меню. Това може да се направи с помощта на друга функция за динамични масиви, наречена FILTER:
=ФИЛТЪР(B3:B15, A3:A15=D3)
Където B3:B15 са изходните данни за зависимото падащо меню, A3:A15 са изходните данни за основното падащо меню, а D3 е основната клетка на падащото меню.
За да се уверите, че формулата работи правилно, можете да изберете някаква стойност в първия падащ списък и да наблюдавате резултатите, върнати от FILTER. Перфектно! :)
4. Направете зависимото падащо меню
За да създадете втория падащ списък, конфигурирайте критериите за валидиране на данни точно както за първия падащ списък в стъпка 2. Но този път направете препратка към диапазона на разливане, върнат от функцията FILTER: =$H$3#
Това е всичко! Вашият зависим от Excel падащ списък е готов за използване.
Съвети и бележки:
Как да създадете множество зависими падащи списъци в Excel
В предишния пример създадохме падащ списък, зависещ от друга клетка. Но какво ще стане, ако имате нужда от йерархия на няколко нива, т.е. 3-ти падащ списък, зависещ от 2-ри списък, или дори 4-ти падащ списък, зависещ от 3-ти списък. Възможно ли е това? Да, можете да създадете произволен брой зависими списъци (разумен брой, разбира се :).
В този пример сме поставили държавите/провинциите в колона C и сега искаме да добавим съответното падащо меню в G3:
За да направите падащ списък с множество зависимости в Excel, трябва да направите следното:
1. Настройте първото падащо меню
Основният падащ списък се създава с абсолютно същите стъпки като в предишния пример (моля, вижте стъпки 1 и 2 по-горе). Единствената разлика е референцията на диапазона на разливане, която въвеждате в Източник: кутия.
Този път формулата UNIQUE е в E8, а основният падащ списък ще бъде в E3. Така че избирате E3, щраквате върху Утвърждаване на данните и да предоставите тази справка: =$E$8#
2. Конфигуриране на второто падащо меню
Както може би сте забелязали, сега колона B съдържа множество случаи на едни и същи износители. Но вие искате в падащия списък да има само уникални имена, нали? За да изключите всички дублиращи се случаи, обвийте функцията UNIQUE около формулата FILTER и въведете тази актуализирана формула в F8:
=UNIQUE(FILTER(B3:B15, A3:A15=E3))
Където B3:B15 са изходните данни за второто падащо меню, A3:A15 са изходните данни за първото падащо меню, а E3 е първата клетка на падащото меню.
След това използвайте следната референция за диапазона на разлив за критериите за валидиране на данни: =$F$8#
3. Настройте третото падащо меню
За да се съберат елементите за третия падащ списък, използвайте формулата FILTER (Филтриране) с няколко критерия. Първият критерий проверява целия списък с плодове спрямо стойността, избрана в първия падащ списък (A3:A15=E3), докато вторият критерий проверява списъка с износители спрямо избора във втория падащ списък (B3:B15=F3). Пълната формула отива в G8:
=ФИЛТЪР(C3:C15, (A3:A15=E3) * (B3:B15=F3))
Ако ще добавяте още зависими падащи прозорци (4-ти, 5-ти и т.н.), тогава най-вероятно колона C ще съдържа множество случаи на един и същ елемент. За да предотвратите попадането на дубликати в таблицата за подготовка и съответно в 3-ти падащ прозорец, вложете формулата FILTER във функцията UNIQUE, както направихме в предишната стъпка:
=UNIQUE(FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3))
Последното нещо, което трябва да направите, е да създадете още едно правило за валидиране на данни с това Източник: референция: =$G$8#
Вашият падащ списък с множество зависимости е готов за работа!
Съвет. По подобен начин можете да получите елементи за последващи падащи списъци . Ако приемем, че колона D съдържа изходните данни за вашия 4-ти падащ списък, можете да въведете следната формула в H8, за да извлечете съответните елементи:
=UNIQUE(FILTER(D3:D15, (A3:A15=E3) * (B3:B15=F3) * (C3:C15=G3))
Как да направите разширяем падащ списък в Excel
След като създадете падащ списък, първото ви притеснение може да бъде какво ще се случи, когато добавите нови елементи към изходните данни. Ще се актуализира ли падащият списък автоматично? Ако изходните ви данни са форматирани като таблица на Excel, тогава да, динамичният падащ списък, разгледан в предишните примери, ще се разшири автоматично без никакви усилия от ваша страна, тъй като таблиците на Excel са разширяеми по своята същност.
Ако по някаква причина използването на таблица на Excel не е възможно, можете да направите своя падащ списък разширяем по този начин:
Като имате предвид тези две точки, нека да донастроим формулите в нашата таблица за подготовка на данни. Правилата за валидиране на данни не изискват никакви корекции.
Формула за главното падащо меню
С имената на плодовете в A3:A15 добавяме 5 допълнителни клетки към масива, за да се погрижим за евентуални нови записи. Освен това вграждаме функцията FILTER в UNIQUE, за да извлечем уникални стойности без празни места.
Като се има предвид горното, формулата в G3 придобива следния вид:
=UNIQUE(FILTER(A3:A20, A3:A20""))
Формула за зависимото падащо меню
Формулата в G3 не се нуждае от много промени - просто разширете масивите с още няколко клетки:
=ФИЛТЪР(B3:B20, A3:A20=D3)
Резултатът е напълно динамичен разширяем зависим падащ списък:
Как да сортирате падащия списък по азбучен ред
Искате да подредите падащия си списък по азбучен ред, без да се налага да използвате изходните данни? Новият динамичен Excel има специална функция и за това! В таблицата за подготовка на данни просто обвийте функцията SORT около съществуващите си формули.
Правилата за валидиране на данни са конфигурирани точно както е описано в предишните примери.
Подреждане от A до Z
Тъй като възходящият ред на сортиране е опцията по подразбиране, можете просто да вложите съществуващите си формули в масив аргумент на SORT, като се пропускат всички други аргументи, които не са задължителни.
За основно падащо меню (формулата в G3):
=SORT(UNIQUE(FILTER(A3:A20, A3:A20""))
За зависимо падащо меню (формулата в Н3):
=SORT(FILTER(B3:B20, A3:A20=D3))
Готово! Двата падащи списъка се подреждат по азбучен ред от А до Я.
Подреждане от Z до A
За да сортирате в низходящ ред, трябва да зададете третия аргумент ( sort_order ) на функцията SORT на -1.
За основно падащо меню (формулата в G3):
=SORT(UNIQUE(FILTER(A3:A20, A3:A20"")), 1, -1)
За зависимо падащо меню (формулата в Н3):
=SORT(FILTER(B3:B20, A3:A20=D3), 1, -1)
Това ще подреди както данните в таблицата за подготовка, така и елементите в падащите списъци от Z до A:
Ето как да създадете динамичен падащ списък в Excel с помощта на новите функции за динамични масиви. За разлика от традиционните методи, този подход работи перфектно за единични и многословни записи и се грижи за всички празни клетки. Благодарим ви, че прочетохте, и се надяваме да се видим в нашия блог следващата седмица!
Практическа работна тетрадка за изтегляне
Зависим от Excel падащ списък (.xlsx файл)