Як зрабіць залежны (каскадны) выпадальны спіс у Excel

  • Падзяліцца Гэтым
Michael Brown

Змест

Некаторы час таму мы пачалі даследаваць магчымасці праверкі даных 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".

    Пра што трэба памятаць:

    1. Элементы для у першым выпадальным спісе павінны быць запісы з аднаго слова, напр. Абрыкос , Манга , Апельсіны . Калі ў вас ёсць элементы, якія складаюцца з двух, трох ці больш слоў, глядзіце, як стварыць каскаднае выпадальнае меню з запісамі з некалькіх слоў.
    2. Назвы залежных спісаў павінны быць сапраўды такімі ж, як адпаведны запіс у галоўным спіс. Напрыклад, залежны спіс, які будзе адлюстроўвацца пры выбары « Mango » з першага выпадальнага спісу, павінен мець назву Mango .

    Пасля завяршэння , вы можаце націснуць Ctrl+F3, каб адкрыць акно Менеджара імёнаў і праверыць, ці ўсе спісы маюць правільныя імёны і спасылкі.

    3 . Стварыце першы (асноўны) выпадны спіс

    1. У той жа або іншай электроннай табліцы выберыце ячэйку або некалькі вочак, у якіх вы хочаце, каб з'явіўся ваш асноўны выпадальны спіс.
    2. Перайдзіце на ўкладку Дадзеныя , націсніце Праверка даных і наладзьце выпадальны спіс на аснове найменнага дыяпазону звычайным спосабам, выбраўшы Спіс пад Дазволіць і ўвод імя дыяпазону ўПоле Крыніца .

    Для падрабязных крокаў, калі ласка, гл. Стварэнне выпадальнага спісу на аснове найменнага дыяпазону.

    У выніку ў вашым аркушы будзе выпадальнае меню, падобнае да гэтага:

    4. Стварыце залежны выпадальны спіс

    Выберыце ячэйку(-і) для залежнага выпадальнага меню і зноў прымяніце праверку даных Excel, як апісана ў папярэднім кроку. Але на гэты раз замест назвы дыяпазону вы ўводзіце наступную формулу ў поле Крыніца :

    =INDIRECT(A2)

    Дзе A2 — ячэйка з вашым першым (асноўным) выпадальны спіс.

    Калі ячэйка A2 зараз пустая, вы атрымаеце паведамленне пра памылку « Крыніца ў цяперашні час ацэньвае памылку. Вы хочаце працягнуць ? "

    Бяспечна націсніце Так , і як толькі вы вылучыце пункт з першага выпадальнага меню, вы ўбачыце адпаведныя запісы ў другім, залежным , выпадальны спіс.

    5. Дадайце трэці залежны выпадальны спіс (неабавязкова)

    Пры неабходнасці вы можаце дадаць 3-ці каскадны выпадальны спіс, які залежыць альбо ад выбару ў другім выпадальным меню, альбо ад выбару ў першым два выпадаючыя спісы.

    Наладзіць 3-е выпадальнае меню, якое залежыць ад 2-га спісу

    Вы можаце зрабіць выпадальны спіс гэтага тыпу такім жа чынам, як мы толькі што зрабілі другі залежны выпадальны спіс меню ўніз. Проста запомніце 2 важныя рэчы, разгледжаныя вышэй, якія важныя дляправільная праца вашых каскадных выпадаючых спісаў.

    Напрыклад, калі вы хочаце адлюстраваць спіс рэгіёнаў у слупку C у залежнасці ад таго, якая краіна выбрана ў слупку B, вы ствараеце спіс рэгіёнаў для кожнага краіну і назавіце яе паводле назвы краіны, дакладна так, як краіна паказваецца ў другім выпадальным спісе. Напрыклад, спіс рэгіёнаў Індыі павінен называцца "Індыя", спіс рэгіёнаў Кітая - "Кітай" і гэтак далей.

    Пасля гэтага вы выбіраеце ячэйку для 3-га выпадальнага меню (C2 у нашым case) і прымяніце праверку даных Excel з наступнай формулай (B2 - гэта ячэйка з другім выпадальным меню, якое змяшчае спіс краін):

    =INDIRECT(B2)

    Цяпер, кожны раз, калі вы выбіраеце Індыя ў спісе краін у слупку B, вы будзеце мець наступныя варыянты ў трэцім выпадальным спісе:

    Заўвага. Адлюстраваны спіс рэгіёнаў унікальны для кожнай краіны, але ён не залежыць ад выбару ў першым выпадальным спісе.

    Стварыце трэцяе выпадаючае меню ў залежнасці ад першых двух спісаў

    Калі вам трэба стварыць каскаднае выпадальнае меню, якое залежыць ад выбару як у першым, так і ў другім выпадальных спісах, паступайце наступным чынам :

    1. Стварыце дадатковыя наборы найменных дыяпазонаў і назавіце іх спалучэннямі слоў у першых двух выпадаючых спісах. Напрыклад, у вас ёсць манга, апельсіны і г.д. у 1-м спісе і Індыя, Бразілія і г.д. у 2-м.Затым вы ствараеце дыяпазоны з назвамі MangoIndia , MangoBrazil , OrangesIndia , OrangesBrazil і г.д. Гэтыя назвы не павінны ўтрымліваць сімвалы падкрэслівання або любыя іншыя дадатковыя сімвалы .

  • Ужыць праверку даных Excel з дапамогай формулы УСКОСНАЙ ЗАМЕНЫ, якая аб'ядноўвае імёны запісаў у першых двух слупках і выдаляе прабелы ў імёнах. Напрыклад, у ячэйцы C2 формула праверкі даных будзе выглядаць так:
  • =INDIRECT(SUBSTITUTE(A2&B2," ",""))

    Дзе A2 і B2 змяшчаюць першае і другое выпадаючыя спісы адпаведна.

    У выніку ваша трэцяе падзенне Спіс -уніз будзе адлюстроўваць рэгіёны, якія адпавядаюць Садавіне і Краіне , выбраным у першых 2 выпадаючых спісах.

    Гэта самы просты спосаб стварыць каскадныя выпадальныя вокны ў Excel. Аднак у гэтага метаду ёсць шэраг абмежаванняў.

    Абмежаванні гэтага падыходу:

    1. Элементы ў вашым асноўным выпадальным спісе павінны складацца з аднаго слова запісы. Паглядзіце, як ствараць каскадныя выпадальныя спісы з запісамі з некалькіх слоў.
    2. Гэты метад не будзе працаваць, калі запісы ў вашым галоўным выпадальным спісе ўтрымліваюць сімвалы, недапушчальныя ў імёнах дыяпазонаў, напрыклад, злучок ( -), амперсанд (&) і г.д. Рашэнне складаецца ў тым, каб стварыць дынамічнае каскаднае выпадальнае меню, якое не мае гэтага абмежавання.
    3. Выпадальныя меню, створаныя такім чынам, не абнаўляюцца аўтаматычна, г.зн. вам трэба будзе змяніць названыя дыяпазоны'спасылкі кожны раз, калі вы дадаеце або выдаляеце элементы ў спісах крыніц. Каб пераадолець гэтае абмежаванне, паспрабуйце стварыць дынамічны каскадны выпадальны спіс.

    Стварыце каскадныя выпадальныя спісы з запісамі з некалькіх слоў

    УСКОСНЫЯ формулы, якія мы выкарыстоўвалі ў прыкладзе вышэй можа апрацоўваць толькі элементы з аднаго слова. Напрыклад, формула =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. Апошні з'яўляецца маім пераважным спосабам, таму што ён забяспечвае мноства пераваг, найбольш важныя з якіх:

    1. Вы павінны стварыць толькі 3 найменныя дыяпазоны, незалежна ад таго, якшмат элементаў ёсць у галоўным і залежных спісах.
    2. Вашы спісы могуць утрымліваць элементы з некалькіх слоў і любыя спецыяльныя сімвалы.
    3. Колькасць запісаў можа адрознівацца ў кожным слупку.
    4. Парадак сартавання запісаў не мае значэння.
    5. Нарэшце, вельмі лёгка падтрымліваць і змяняць спісы крыніц.

    Добра, хопіць тэорыі, пяройдзем да практыкі.

    1. Арганізуйце свае зыходныя дадзеныя ў табліцы

    Як звычайна, першае, што вам трэба зрабіць, гэта запісаць усе варыянты для вашых выпадальных спісаў на працоўным аркушы. На гэты раз вы павінны будзеце захоўваць зыходныя дадзеныя ў табліцы Excel. Для гэтага пасля ўводу даных вылучыце ўсе запісы і націсніце Ctrl + T або пстрыкніце ўкладку Уставіць > Табліца . Затым увядзіце назву вашай табліцы ў поле Назва табліцы .

    Самы зручны і наглядны падыход - захоўваць элементы для першага выпадальнага меню як загалоўкі табліцы, а элементы для залежнае выпадальнае меню ў выглядзе даных табліцы. Здымак экрана ніжэй ілюструе структуру маёй табліцы пад назвай exporters_tbl - назвы садавіны з'яўляюцца загалоўкамі табліцы, а спіс краін-экспарцёраў дадаецца пад адпаведнай назвай садавіны.

    2. Стварыце імёны Excel

    Цяпер, калі вашы зыходныя даныя гатовыя, прыйшоў час наладзіць спасылкі з назвамі, якія будуць дынамічна атрымліваць правільны спіс з вашай табліцы.

    2.1. Дадайце імя для радка загалоўка табліцы (галоўнае выпадальнае меню)

    Каб стварыць aновае імя, якое спасылаецца на загаловак табліцы, выберыце яго, а затым альбо націсніце Формулы > Дыспетчар імёнаў > Новы або націсніце Ctrl + F3 .

    Microsoft Excel будзе выкарыстоўваць убудаваную таблічную даведачную сістэму для стварэння назвы шаблона table_name[#Headers] .

    Дайце трохі змястоўнае і лёгкае для запамінання імя, напр. fruit_list і націсніце ОК .

    2.2. Стварыце імя для ячэйкі, якая змяшчае першы выпадальны спіс

    Я ведаю, што ў вас яшчэ няма выпадальнага спісу :) Але вы павінны выбраць ячэйку для размяшчэння вашага першага выпадальнага спісу і стварыць для гэтага імя ячэйку цяпер, таму што вам трэба будзе ўключыць гэтае імя ў спасылку на трэцяе імя.

    Напрыклад, маё першае выпадаючае поле знаходзіцца ў ячэйцы B1 на аркушы 2, таму я ствараю для яго назву, нешта простае і не тлумачацца, як фрукт :

    Савет. Выкарыстоўвайце адпаведныя спасылкі на ячэйкі, каб скапіяваць выпадаючыя спісы на аркуш.

    Калі ласка, уважліва прачытайце наступныя некалькі абзацаў, таму што гэта вельмі карысная парада, якую вы не хочаце прапусціць . Вялікі дзякуй Карэн за публікацыю!

    Калі вы плануеце скапіяваць свае выпадальныя спісы ў іншыя ячэйкі, выкарыстоўвайце змешаныя спасылкі на ячэйкі, калі ствараеце імя для ячэйкі(-й) з вашым першым выпадальным спісам. спіс.

    Для карэктнага капіравання выпадаючых спісаў у іншыя слупкі (г.зн. справа), выкарыстоўвайце адносны слупок (без $

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.