Змест
Некаторы час таму мы пачалі даследаваць магчымасці праверкі даных Excel і даведаліся, як стварыць просты выпадальны спіс у Excel на аснове спісу, падзеленага коскамі, дыяпазону вочак або названага дыяпазону.
Сёння мы збіраемся паглыблена вывучыць гэтую функцыю і навучымся ствараць каскадныя выпадаючыя спісы, якія адлюстроўваюць выбар у залежнасці ад значэння, выбранага ў першым выпадальным спісе. Іншымі словамі, мы створым спіс праверкі дадзеных Excel на аснове значэнняў іншага спісу.
Як стварыць некалькі залежных выпадальных меню ў Excel
Стварэнне некалькіх Выпадальныя спісы, якія залежаць ад узроўню, у Excel лёгка. Усё, што вам трэба, гэта некалькі найменных дыяпазонаў і формула INDIRECT. Гэты метад працуе з усімі версіямі Excel 365 - 2010 і больш раннімі.
1. Увядзіце запісы для выпадальных спісаў
Спачатку ўвядзіце запісы, якія вы хочаце з'явіцца ў выпадальных спісах, кожны спіс у асобным слупку. Напрыклад, я ствараю каскаднае выпадальнае меню экспарцёраў садавіны, і слупок A майго зыходнага аркуша ( Садавіна ) уключае элементы першага выпадальнага спісу, а 3 іншых слупка пералічваюць элементы для залежных выпадальных спісаў.
2. Стварыце найменныя дыяпазоны
Цяпер вам трэба стварыць імёны для вашага галоўнага спісу і для кожнага з залежных спісаў. Вы можаце зрабіць гэта, дадаўшы новае імя ў акне Менеджэр імёнаў (укладка Формулы > Менеджэр імёнаў > Новы) або набраўшызнак) і спасылкі на абсалютны радок (з $), напрыклад = Sheet2!B$1.
У выніку ў ячэйцы B2 з'явіцца залежны выпадальны спіс B1; Выпадальнае меню, якое залежыць ад C1, будзе адлюстроўвацца ў C2 і гэтак далей.
І калі вы плануеце скапіяваць выпадальныя спісы ў іншыя радкі (г.зн. уніз па слупок), затым выкарыстоўвайце абсалютныя каардынаты слупка (з $) і адносныя радкі (без $), напрыклад = Sheet2!$B1.
Каб скапіяваць выпадальную ячэйку ў любую кірунку, выкарыстоўвайце адносную спасылку (без знака $), напрыклад = Sheet2!B1.
2.3. Стварыце імя для атрымання запісаў залежнага меню
Замест таго, каб усталёўваць унікальныя імёны для кожнага з залежных спісаў, як мы рабілі ў папярэднім прыкладзе, мы збіраемся стварыць адну формулу з назвай , якая не прысвойваецца якой-небудзь канкрэтнай ячэйцы або дыяпазону ячэек. Ён атрымае правільны спіс запісаў для другога выпадальнага спісу ў залежнасці ад таго, які выбар зроблены ў першым выпадальным спісе. Асноўная перавага выкарыстання гэтай формулы заключаецца ў тым, што вам не трэба будзе ствараць новыя імёны пры даданні новых запісаў у першы выпадальны спіс - адна названая формула ахоплівае іх усе.
Вы ствараеце новае імя Excel з гэтай формулай:
=INDEX(exporters_tbl,,MATCH(fruit,fruit_list,0))
Дзе:
-
exporters_tbl
- назва табліцы (створанай на этапе 1); -
fruit
- імя ячэйкі, якая змяшчае першы выпадальны спіс (створаны на этапе 2.2); -
fruit_list
- імя, якое спасылаецца на радок загалоўка табліцы (створаны ўкрок 2.1).
Я даў яму імя exporters_list , як вы бачыце на скрыншоце ніжэй.
Ну , вы ўжо зрабілі асноўную частку працы! Перш чым перайсці да апошняга кроку, можа быць добрай ідэяй адкрыць дыспетчар імёнаў ( Ctrl + F3 ) і праверыць імёны і спасылкі:
3. Наладзьце праверку даных Excel
На самай справе гэта самая простая частка. З дзвюма названымі формуламі вы наладжваеце праверку даных звычайным спосабам (укладка Даныя > Праверка даных ).
- Для першага у выпадальным спісе ў поле Source увядзіце =fruit_list (імя, створанае на этапе 2.1).
- Для залежнага выпадальнага спісу ўвядзіце =exporters_list (імя, створанае на этапе 2.3).
Гатова! Ваша дынамічнае каскаднае выпадальнае меню завершана і будзе аўтаматычна абнаўляцца, адлюстроўваючы змены, якія вы ўнеслі ў зыходную табліцу.
Гэта дынамічнае выпадальнае меню Excel, ідэальнае ва ўсіх астатніх адносінах , мае адзін недахоп - калі слупкі вашай зыходнай табліцы ўтрымліваюць розную колькасць элементаў, пустыя радкі будуць адлюстроўвацца ў вашым меню так:
Выключыць пустыя радкі з дынамічнае каскаднае выпадальнае меню
Калі вы жадаеце ачысціць любыя пустыя радкі ў выпадальных вокнах, вам трэба будзе зрабіць крок далей і палепшыць формулу INDEX / MATCH, якая выкарыстоўваецца для стварэння залежнага дынамічнага выпадальнага спісу.
Ідэя заключаецца ў выкарыстанні2 функцыі INDEX, дзе першая атрымлівае верхнюю левую ячэйку, а другая вяртае ніжнюю правую ячэйку дыяпазону, або функцыя OFFSET з укладзенымі INDEX і COUNTA. Падрабязныя дзеянні прыведзены ніжэй:
1. Стварыце дзве дадатковыя назвы
Каб не зрабіць формулу занадта грувасткай, спачатку стварыце пару дапаможных назваў з наступнымі простымі формуламі:
- Імя пад назвай col_num для спасылкі на выбраны нумар слупка:
=MATCH(fruit,fruit_list,0)
- Імя пад назвай entire_col для спасылкі на выбраны слупок (не нумар слупка, а ўвесь слупок):
=INDEX(exporters_tbl,,col_num)
У прыведзеных вышэй формулах exporters_tbl
- гэта імя вашай зыходнай табліцы, fruit
- гэта імя ячэйкі, якая змяшчае першае выпадальнае меню, а fruit_list
- гэта імя, якое спасылаецца на радок загалоўка табліцы.
2. Стварыце іменную спасылку для залежнага выпадальнага спісу
Далей выкарыстоўвайце любую з прыведзеных ніжэй формул, каб стварыць новае імя (назавем яго exporters_list2 ), якое будзе выкарыстоўвацца з залежным выпадальным спісам:
=INDEX(exporters_tbl,1,col_num) : INDEX(exporters_tbl, COUNTA(entire_col), col_num)
=OFFSET(INDEX(exporters_tbl,1,col_num),0,0,COUNTA(entire_col))
3. Прымяніць праверку даных
Нарэшце, абярыце ячэйку, якая змяшчае залежнае выпадальнае меню, і прымяніце праверку даных, увёўшы = exporters_list2 (імя, створанае на папярэднім этапе) у Крыніца поле.
На скрыншоце ніжэй паказана выніковае дынамічнае выпадальнае меню ў Excel, у якім зніклі ўсе пустыя радкі!
Заўвага. Пры працы з дынамічнымі каскаднымі выпадальнымі спісаміствораны з прыведзенымі вышэй формуламі, нішто не перашкаджае карыстальніку змяняць значэнне ў першым выпадальным спісе пасля выбару ў другім меню, у выніку выбар у асноўным і дадатковым выпадаючых спісах можа не супадаць. Вы можаце заблакіраваць змены ў першым полі пасля выбару ў другім з дапамогай VBA або складаных формул, прапанаваных у гэтым падручніку.
Вось як вы ствараеце спіс праверкі даных Excel на аснове значэнняў іншага спісу. Калі ласка, не саромейцеся спампоўваць нашы прыклады працоўных сшыткаў, каб убачыць каскадныя выпадальныя спісы ў дзеянні. Дзякуй за прачытанне!
Практычны сшытак для спампоўкі
Каскадны выпадальны ўзор 1 - простая версія
Каскадны выпадальны ўзор 2 - пашыраная версія без прабелаў
імя непасрэдна ў Поле імя.
Заўвага. Калі ласка, звярніце ўвагу, што калі ваш першы радок з'яўляецца свайго роду загалоўкам слупка, як вы бачыце на скрыншоце вышэй, вы не павінны ўключаць яго ў найменны дыяпазон.
Падрабязныя пакрокавыя інструкцыі, калі ласка, глядзіце ў раздзеле "Як вызначыць імя ў Excel".
Пра што трэба памятаць:
- Элементы для у першым выпадальным спісе павінны быць запісы з аднаго слова, напр. Абрыкос , Манга , Апельсіны . Калі ў вас ёсць элементы, якія складаюцца з двух, трох ці больш слоў, глядзіце, як стварыць каскаднае выпадальнае меню з запісамі з некалькіх слоў.
- Назвы залежных спісаў павінны быць сапраўды такімі ж, як адпаведны запіс у галоўным спіс. Напрыклад, залежны спіс, які будзе адлюстроўвацца пры выбары « Mango » з першага выпадальнага спісу, павінен мець назву Mango .
Пасля завяршэння , вы можаце націснуць Ctrl+F3, каб адкрыць акно Менеджара імёнаў і праверыць, ці ўсе спісы маюць правільныя імёны і спасылкі.
3 . Стварыце першы (асноўны) выпадны спіс
- У той жа або іншай электроннай табліцы выберыце ячэйку або некалькі вочак, у якіх вы хочаце, каб з'явіўся ваш асноўны выпадальны спіс.
- Перайдзіце на ўкладку Дадзеныя , націсніце Праверка даных і наладзьце выпадальны спіс на аснове найменнага дыяпазону звычайным спосабам, выбраўшы Спіс пад Дазволіць і ўвод імя дыяпазону ўПоле Крыніца .
Для падрабязных крокаў, калі ласка, гл. Стварэнне выпадальнага спісу на аснове найменнага дыяпазону.
У выніку ў вашым аркушы будзе выпадальнае меню, падобнае да гэтага:
4. Стварыце залежны выпадальны спіс
Выберыце ячэйку(-і) для залежнага выпадальнага меню і зноў прымяніце праверку даных Excel, як апісана ў папярэднім кроку. Але на гэты раз замест назвы дыяпазону вы ўводзіце наступную формулу ў поле Крыніца :
=INDIRECT(A2)
Дзе A2 — ячэйка з вашым першым (асноўным) выпадальны спіс.
Калі ячэйка A2 зараз пустая, вы атрымаеце паведамленне пра памылку « Крыніца ў цяперашні час ацэньвае памылку. Вы хочаце працягнуць ? "
Бяспечна націсніце Так , і як толькі вы вылучыце пункт з першага выпадальнага меню, вы ўбачыце адпаведныя запісы ў другім, залежным , выпадальны спіс.
5. Дадайце трэці залежны выпадальны спіс (неабавязкова)
Пры неабходнасці вы можаце дадаць 3-ці каскадны выпадальны спіс, які залежыць альбо ад выбару ў другім выпадальным меню, альбо ад выбару ў першым два выпадаючыя спісы.
Наладзіць 3-е выпадальнае меню, якое залежыць ад 2-га спісу
Вы можаце зрабіць выпадальны спіс гэтага тыпу такім жа чынам, як мы толькі што зрабілі другі залежны выпадальны спіс меню ўніз. Проста запомніце 2 важныя рэчы, разгледжаныя вышэй, якія важныя дляправільная праца вашых каскадных выпадаючых спісаў.
Напрыклад, калі вы хочаце адлюстраваць спіс рэгіёнаў у слупку C у залежнасці ад таго, якая краіна выбрана ў слупку B, вы ствараеце спіс рэгіёнаў для кожнага краіну і назавіце яе паводле назвы краіны, дакладна так, як краіна паказваецца ў другім выпадальным спісе. Напрыклад, спіс рэгіёнаў Індыі павінен называцца "Індыя", спіс рэгіёнаў Кітая - "Кітай" і гэтак далей.
Пасля гэтага вы выбіраеце ячэйку для 3-га выпадальнага меню (C2 у нашым case) і прымяніце праверку даных Excel з наступнай формулай (B2 - гэта ячэйка з другім выпадальным меню, якое змяшчае спіс краін):
=INDIRECT(B2)
Цяпер, кожны раз, калі вы выбіраеце Індыя ў спісе краін у слупку B, вы будзеце мець наступныя варыянты ў трэцім выпадальным спісе:
Заўвага. Адлюстраваны спіс рэгіёнаў унікальны для кожнай краіны, але ён не залежыць ад выбару ў першым выпадальным спісе.
Стварыце трэцяе выпадаючае меню ў залежнасці ад першых двух спісаў
Калі вам трэба стварыць каскаднае выпадальнае меню, якое залежыць ад выбару як у першым, так і ў другім выпадальных спісах, паступайце наступным чынам :
- Стварыце дадатковыя наборы найменных дыяпазонаў і назавіце іх спалучэннямі слоў у першых двух выпадаючых спісах. Напрыклад, у вас ёсць манга, апельсіны і г.д. у 1-м спісе і Індыя, Бразілія і г.д. у 2-м.Затым вы ствараеце дыяпазоны з назвамі MangoIndia , MangoBrazil , OrangesIndia , OrangesBrazil і г.д. Гэтыя назвы не павінны ўтрымліваць сімвалы падкрэслівання або любыя іншыя дадатковыя сімвалы .
=INDIRECT(SUBSTITUTE(A2&B2," ",""))
Дзе A2 і B2 змяшчаюць першае і другое выпадаючыя спісы адпаведна.
У выніку ваша трэцяе падзенне Спіс -уніз будзе адлюстроўваць рэгіёны, якія адпавядаюць Садавіне і Краіне , выбраным у першых 2 выпадаючых спісах.
Гэта самы просты спосаб стварыць каскадныя выпадальныя вокны ў Excel. Аднак у гэтага метаду ёсць шэраг абмежаванняў.
Абмежаванні гэтага падыходу:
- Элементы ў вашым асноўным выпадальным спісе павінны складацца з аднаго слова запісы. Паглядзіце, як ствараць каскадныя выпадальныя спісы з запісамі з некалькіх слоў.
- Гэты метад не будзе працаваць, калі запісы ў вашым галоўным выпадальным спісе ўтрымліваюць сімвалы, недапушчальныя ў імёнах дыяпазонаў, напрыклад, злучок ( -), амперсанд (&) і г.д. Рашэнне складаецца ў тым, каб стварыць дынамічнае каскаднае выпадальнае меню, якое не мае гэтага абмежавання.
- Выпадальныя меню, створаныя такім чынам, не абнаўляюцца аўтаматычна, г.зн. вам трэба будзе змяніць названыя дыяпазоны'спасылкі кожны раз, калі вы дадаеце або выдаляеце элементы ў спісах крыніц. Каб пераадолець гэтае абмежаванне, паспрабуйце стварыць дынамічны каскадны выпадальны спіс.
Стварыце каскадныя выпадальныя спісы з запісамі з некалькіх слоў
УСКОСНЫЯ формулы, якія мы выкарыстоўвалі ў прыкладзе вышэй можа апрацоўваць толькі элементы з аднаго слова. Напрыклад, формула =INDIRECT(A2) ускосна спасылаецца на ячэйку A2 і адлюстроўвае найменны дыяпазон дакладна з тым жа імем, што і ў ячэйцы, на якую спасылаецца. Аднак прабелы не дапускаюцца ў імёнах Excel, таму гэтая формула не будзе працаваць з імёнамі з некалькіх слоў.
Рашэнне заключаецца ў выкарыстанні функцыі INDIRECT у спалучэнні з SUBSTITUTE, як мы рабілі пры стварэнні 3-га выпадальны спіс.
Выкажам здагадку, што сярод прадуктаў у вас ёсць Кавун . У гэтым выпадку вы называеце спіс экспарцёраў кавуноў адным словам без прабелаў - Кавун .
Затым у другім выпадальным спісе прымяняеце праверку даных Excel з наступнай формулай, якая выдаляе прабелы ад імя ў ячэйцы A2:
=INDIRECT(SUBSTITUTE(A2," ",""))
Як прадухіліць змены ў галоўным выпадальным спісе
Уявіце сабе наступны сцэнар . Ваш карыстальнік зрабіў выбар ва ўсіх выпадальных спісах, потым перадумаў, вярнуўся да першага спісу і абраў іншы элемент. У выніку 1-е і 2-е выбары не супадаюць. Каб гэтага не адбылося, вы можаце заблакіраваць любыя змены ў першым падзенніуніз, як толькі будзе зроблены выбар у другім спісе.
Для гэтага пры стварэнні першага выпадальнага спісу выкарыстоўвайце спецыяльную формулу, якая правярае, ці выбраны нейкі запіс у другім выпадальным меню:
=IF(B2="", Fruit, INDIRECT("FakeList"))
Там, дзе B2 змяшчае другое выпадальнае меню, « Садавіна » - гэта назва спісу, які з'яўляецца ў першым выпадальным меню, і « FakeList " - гэта любое фальшывае імя, якое не існуе.
Цяпер, калі любы элемент выбраны ў 2-м выпадальным спісе, выбар не будзе даступны, калі карыстальнік націскае на стрэлку побач з першым спісам.
Стварэнне дынамічных каскадных выпадальных спісаў у Excel
Асноўная перавага дынамічнага выпадальнага спісу, які залежыць ад Excel, заключаецца ў тым, што вы можаце рэдагуйце спісы крыніц, і вашы выпадальныя вокны будуць абнаўляцца на хаду. Вядома, стварэнне дынамічных выпадаючых меню патрабуе крыху больш часу і больш складаных формул, але я лічу, што гэта вартая інвестыцыя, таму што пасля наладжвання такія выпадаючыя меню прыносяць сапраўднае задавальненне.
Як і амаль што-небудзь у Excel, вы можаце дасягнуць таго ж выніку некалькімі спосабамі. У прыватнасці, вы можаце стварыць дынамічнае выпадальнае меню, выкарыстоўваючы камбінацыю функцый OFFSET, INDIRECT і COUNTA або больш устойлівую формулу INDEX MATCH. Апошні з'яўляецца маім пераважным спосабам, таму што ён забяспечвае мноства пераваг, найбольш важныя з якіх:
- Вы павінны стварыць толькі 3 найменныя дыяпазоны, незалежна ад таго, якшмат элементаў ёсць у галоўным і залежных спісах.
- Вашы спісы могуць утрымліваць элементы з некалькіх слоў і любыя спецыяльныя сімвалы.
- Колькасць запісаў можа адрознівацца ў кожным слупку.
- Парадак сартавання запісаў не мае значэння.
- Нарэшце, вельмі лёгка падтрымліваць і змяняць спісы крыніц.
Добра, хопіць тэорыі, пяройдзем да практыкі.
1. Арганізуйце свае зыходныя дадзеныя ў табліцы
Як звычайна, першае, што вам трэба зрабіць, гэта запісаць усе варыянты для вашых выпадальных спісаў на працоўным аркушы. На гэты раз вы павінны будзеце захоўваць зыходныя дадзеныя ў табліцы Excel. Для гэтага пасля ўводу даных вылучыце ўсе запісы і націсніце Ctrl + T або пстрыкніце ўкладку Уставіць > Табліца . Затым увядзіце назву вашай табліцы ў поле Назва табліцы .
Самы зручны і наглядны падыход - захоўваць элементы для першага выпадальнага меню як загалоўкі табліцы, а элементы для залежнае выпадальнае меню ў выглядзе даных табліцы. Здымак экрана ніжэй ілюструе структуру маёй табліцы пад назвай exporters_tbl - назвы садавіны з'яўляюцца загалоўкамі табліцы, а спіс краін-экспарцёраў дадаецца пад адпаведнай назвай садавіны.
2. Стварыце імёны Excel
Цяпер, калі вашы зыходныя даныя гатовыя, прыйшоў час наладзіць спасылкі з назвамі, якія будуць дынамічна атрымліваць правільны спіс з вашай табліцы.
2.1. Дадайце імя для радка загалоўка табліцы (галоўнае выпадальнае меню)
Каб стварыць aновае імя, якое спасылаецца на загаловак табліцы, выберыце яго, а затым альбо націсніце Формулы > Дыспетчар імёнаў > Новы або націсніце Ctrl + F3 .
Microsoft Excel будзе выкарыстоўваць убудаваную таблічную даведачную сістэму для стварэння назвы шаблона table_name[#Headers] .
Дайце трохі змястоўнае і лёгкае для запамінання імя, напр. fruit_list і націсніце ОК .
2.2. Стварыце імя для ячэйкі, якая змяшчае першы выпадальны спіс
Я ведаю, што ў вас яшчэ няма выпадальнага спісу :) Але вы павінны выбраць ячэйку для размяшчэння вашага першага выпадальнага спісу і стварыць для гэтага імя ячэйку цяпер, таму што вам трэба будзе ўключыць гэтае імя ў спасылку на трэцяе імя.
Напрыклад, маё першае выпадаючае поле знаходзіцца ў ячэйцы B1 на аркушы 2, таму я ствараю для яго назву, нешта простае і не тлумачацца, як фрукт :
Савет. Выкарыстоўвайце адпаведныя спасылкі на ячэйкі, каб скапіяваць выпадаючыя спісы на аркуш.
Калі ласка, уважліва прачытайце наступныя некалькі абзацаў, таму што гэта вельмі карысная парада, якую вы не хочаце прапусціць . Вялікі дзякуй Карэн за публікацыю!
Калі вы плануеце скапіяваць свае выпадальныя спісы ў іншыя ячэйкі, выкарыстоўвайце змешаныя спасылкі на ячэйкі, калі ствараеце імя для ячэйкі(-й) з вашым першым выпадальным спісам. спіс.
Для карэктнага капіравання выпадаючых спісаў у іншыя слупкі (г.зн. справа), выкарыстоўвайце адносны слупок (без $