Paano gumawa ng dependent (cascading) na drop-down list sa Excel

  • Ibahagi Ito
Michael Brown

Kanina lang sinimulan naming galugarin ang mga kakayahan ng Excel Data Validation at natutunan kung paano gumawa ng simpleng drop-down list sa Excel batay sa isang listahan na pinaghihiwalay ng kuwit, hanay ng mga cell o isang pinangalanang hanay.

Ngayon, sisiyasatin natin ang feature na ito nang malalim at matutunan kung paano gumawa ng mga cascading drop down na listahan na nagpapakita ng mga pagpipilian depende sa value na napili sa unang dropdown. Upang ilagay ito sa ibang paraan, gagawa kami ng listahan ng validation ng data ng Excel batay sa halaga ng isa pang listahan.

    Paano gumawa ng maramihang dependent na dropdown sa Excel

    Paggawa ng multi Ang mga listahan ng drop-down na umaasa sa antas sa Excel ay madali. Ang kailangan mo lang ay ilang pinangalanang hanay at ang INDIRECT na formula. Gumagana ang paraang ito sa lahat ng bersyon ng Excel 365 - 2010 at mas nauna.

    1. I-type ang mga entry para sa mga drop-down na listahan

    Una, i-type ang mga entry na gusto mong lumabas sa mga drop-down na listahan, bawat listahan sa isang hiwalay na column. Halimbawa, gumagawa ako ng cascading dropdown ng mga fruit exporter at column A ng aking source sheet ( Fruit ) kasama ang mga item sa unang dropdown at 3 iba pang column ang naglilista ng mga item para sa dependent dropdown.

    2. Lumikha ng mga pinangalanang hanay

    Ngayon kailangan mong lumikha ng mga pangalan para sa iyong pangunahing listahan at para sa bawat isa sa mga nakadependeng listahan. Magagawa mo ito alinman sa pamamagitan ng pagdaragdag ng bagong pangalan sa window ng Name Manager ( Formulas tab > Name Manager > Bago) o pag-type ngsign) at absolute row (na may $) na mga sanggunian tulad ng = Sheet2!B$1.

    Bilang resulta, lalabas ang nakadependeng drop down na listahan ng B1 sa cell B2; Ang nakadependeng drop-down ng C1 ay ipapakita sa C2, at iba pa.

    At kung plano mong kopyahin ang mga dropdown sa iba pang row (ibig sabihin, pababa sa column), pagkatapos ay gumamit ng absolute column (na may $) at relative row (walang $) na mga coordinate tulad ng = Sheet2!$B1.

    Upang kopyahin ang isang drop-down na cell sa anumang direksyon, gumamit ng kamag-anak na sanggunian (nang walang $ sign) tulad ng = Sheet2!B1.

    2.3. Gumawa ng pangalan para kunin ang mga entry ng dependent na menu

    Sa halip na mag-set up ng mga natatanging pangalan para sa bawat isa sa mga dependent na listahan tulad ng ginawa namin sa nakaraang halimbawa, gagawa kami ng isang pinangalanang formula na ay hindi nakatalaga sa anumang partikular na cell o isang hanay ng mga cell. Kukunin nito ang tamang listahan ng mga entry para sa pangalawang dropdown depende sa kung aling pagpili ang ginawa sa unang drop-down na listahan. Ang pangunahing benepisyo ng paggamit ng formula na ito ay hindi mo na kailangang gumawa ng mga bagong pangalan habang nagdaragdag ka ng mga bagong entry sa unang drop-down na listahan - isang pinangalanang formula ang sumasaklaw sa lahat ng ito.

    Gumawa ka ng bagong pangalan ng Excel gamit ang formula na ito:

    =INDEX(exporters_tbl,,MATCH(fruit,fruit_list,0))

    Saan:

    • exporters_tbl - ang pangalan ng talahanayan (ginawa sa hakbang 1);
    • fruit - ang pangalan ng cell na naglalaman ng unang drop-down na listahan (ginawa sa hakbang 2.2);
    • fruit_list - ang pangalan na tumutukoy sa header row ng talahanayan (ginawa sahakbang 2.1).

    Binigyan ko ito ng pangalan exporters_list , gaya ng nakikita mo sa screenshot sa ibaba.

    Well , nagawa mo na ang pangunahing bahagi ng gawain! Bago makarating sa huling hakbang, maaaring magandang ideya na buksan ang Name Manager ( Ctrl + F3 ) at i-verify ang mga pangalan at reference:

    3. I-set up ang Excel Data Validation

    Ito talaga ang pinakamadaling bahagi. Gamit ang dalawang pinangalanang formula sa lugar, ise-set up mo ang Data Validation sa karaniwang paraan ( Data tab > Data validation ).

    • Para sa una drop-down list, sa Source box, ilagay ang =fruit_list (ang pangalang ginawa sa hakbang 2.1).
    • Para sa dependent na drop-down list, ilagay ang =exporters_list (ang pangalan na ginawa sa hakbang 2.3).

    Tapos na! Natapos na ang iyong dynamic na cascading drop-down na menu at awtomatikong mag-a-update na nagpapakita ng mga pagbabagong ginawa mo sa source table.

    Itong dynamic na Excel dropdown, perpekto sa lahat ng iba pang aspeto , ay may isang pagkukulang - kung ang mga column ng iyong source table ay naglalaman ng ibang bilang ng mga item, ang mga blangkong row ay lilitaw sa iyong menu tulad nito:

    Ibukod ang mga blangkong row mula sa dynamic na cascading dropdown

    Kung gusto mong linisin ang anumang mga blangkong linya sa iyong mga drop-down box, kailangan mong gumawa ng isang hakbang pa at pagbutihin ang INDEX / MATCH formula na ginamit upang lumikha ng nakadependeng dynamic na drop-down list.

    Ang ideya ay gamitin2 INDEX function, kung saan nakukuha ng una ang upper-left cell at ibinabalik ng pangalawa ang lower-right cell ng range, o ang OFFSET function na may nested INDEX at COUNTA. Ang mga detalyadong hakbang ay sumusunod sa ibaba:

    1. Lumikha ng dalawang karagdagang pangalan

    Hindi para gawing masyadong malaki ang formula, gumawa muna ng ilang pangalan ng katulong na may mga sumusunod na simpleng formula:

    • Isang pangalang tinatawag na col_num upang i-reference ang napiling column number:

      =MATCH(fruit,fruit_list,0)

    • Isang pangalan na tinatawag na entre_col upang i-reference ang napiling column (hindi ang numero ng column, ngunit ang buong column):

      =INDEX(exporters_tbl,,col_num)

    Sa mga formula sa itaas, ang exporters_tbl ay ang pangalan ng iyong source table, ang fruit ay ang pangalan ng cell na naglalaman ng unang dropdown, at ang fruit_list ay ang pangalang tumutukoy sa header row ng table.

    2. Lumikha ng pinangalanang reference para sa dependent dropdown

    Susunod, gamitin ang alinman sa mga formula sa ibaba upang lumikha ng bagong pangalan (tawagin natin itong exporters_list2 ) na gagamitin kasama ng dependent na drop-down list:

    =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. Ilapat ang Data Validation

    Sa wakas, piliin ang cell na naglalaman ng dependent dropdown at ilapat ang Data Validation sa pamamagitan ng paglalagay ng = exporters_list2 (ang pangalang ginawa sa nakaraang hakbang) sa Source box.

    Ipinapakita ng screenshot sa ibaba ang nagreresultang dynamic na drop-down na menu sa Excel kung saan nawala ang lahat ng blangkong linya!

    Tandaan. Kapag nagtatrabaho sa mga dynamic na cascading drop down na listahannilikha gamit ang mga formula sa itaas, walang pumipigil sa user na baguhin ang halaga sa unang dropdown pagkatapos gawin ang pagpili sa pangalawang menu, bilang resulta, ang mga pagpipilian sa pangunahin at pangalawang dropdown ay maaaring hindi magkatugma. Maaari mong harangan ang mga pagbabago sa unang kahon pagkatapos mapili ang pangalawa sa pamamagitan ng paggamit ng alinman sa VBA o mga kumplikadong formula na iminungkahi sa tutorial na ito.

    Ganito ka gumawa ng listahan ng pagpapatunay ng data ng Excel batay sa mga halaga ng isa pang listahan. Mangyaring huwag mag-atubiling i-download ang aming mga sample na workbook upang makita ang mga cascading drop-down list na gumagana. Salamat sa pagbabasa!

    Magsanay ng workbook para sa pag-download

    Cascading Dropdown Sample 1- madaling bersyon

    Cascading Dropdown Sample 2 - advanced na bersyon na walang blangko

    pangalan nang direkta sa Kahon ng Pangalan.

    Tandaan. Mangyaring bigyang-pansin na kung ang iyong unang row ay uri ng header ng column tulad ng nakikita mo sa screenshot sa itaas, hindi mo ito isasama sa pinangalanang hanay.

    Para sa mga detalyadong sunud-sunod na tagubilin, pakitingnan ang Paano tumukoy ng pangalan sa Excel.

    Mga bagay na dapat tandaan:

    1. Ang mga item sa lalabas sa unang drop-down na listahan ay dapat na isang salita na mga entry, hal. Aprikot , Mangga , Mga Kahel . Kung mayroon kang mga item na binubuo ng dalawa, tatlo o higit pang mga salita, pakitingnan ang Paano gumawa ng cascading dropdown na may mga multi-word na entry.
    2. Ang mga pangalan ng mga listahan ng umaasa ay dapat na eksaktong kapareho ng tumutugmang entry sa pangunahing listahan. Halimbawa, ang dependent list na ipapakita kapag ang " Mango " ay pinili mula sa unang drop-down list ay dapat na may pangalang Mango .

    Kapag tapos na , maaaring gusto mong pindutin ang Ctrl+F3 upang buksan ang window ng Name Manager at tingnan kung ang lahat ng listahan ay may tamang mga pangalan at reference.

    3 . Gawin ang unang (pangunahing) drop-down list

    1. Sa pareho o sa isa pang spreadsheet, pumili ng cell o ilang mga cell kung saan mo gustong lumabas ang iyong pangunahing drop-down list.
    2. Pumunta sa tab na Data , i-click ang Pagpapatunay ng Data at mag-set up ng drop-down na listahan batay sa pinangalanang hanay sa karaniwang paraan sa pamamagitan ng pagpili sa Listahan sa ilalim Payagan at paglalagay ng pangalan ng hanay saKahong Pinagmulan .

    Para sa mga detalyadong hakbang, pakitingnan ang Paggawa ng drop down na listahan batay sa isang pinangalanang hanay.

    Bilang resulta, magkakaroon ka ng drop-down na menu sa iyong worksheet na katulad nito:

    4. Gumawa ng dependent na drop-down list

    Pumili ng (mga) cell para sa iyong dependent na drop-down na menu at ilapat muli ang Excel Data Validation gaya ng inilarawan sa nakaraang hakbang. Ngunit sa pagkakataong ito, sa halip na pangalan ng hanay, ilalagay mo ang sumusunod na formula sa field na Source :

    =INDIRECT(A2)

    Kung saan ang A2 ang cell kasama ang iyong una (pangunahin) drop-down list.

    Kung kasalukuyang walang laman ang cell A2, makukuha mo ang mensahe ng error na " Kasalukuyang nagsusuri ang Source sa isang error. Gusto mo bang magpatuloy ? "

    Ligtas na i-click ang Oo , at sa sandaling pumili ka ng item mula sa unang drop-down na menu, makikita mo ang mga entry na nauugnay dito sa pangalawa, depende , drop-down na listahan.

    5. Magdagdag ng pangatlong dependent na drop-down list (opsyonal)

    Kung kinakailangan, maaari kang magdagdag ng 3rd cascading drop-down list na depende sa pagpili sa 2nd drop-down na menu o sa mga pinili sa una dalawang dropdown.

    I-set up ang 3rd dropdown na depende sa 2nd list

    Maaari mong gawin ang drop-down na listahan ng ganitong uri sa parehong paraan tulad ng ginawa namin sa pangalawang dependent drop- pababang menu. Tandaan lamang ang 2 mahahalagang bagay na tinalakay sa itaas, na mahalaga para saang tamang gawain ng iyong mga cascading drop-down na listahan.

    Halimbawa, kung gusto mong magpakita ng listahan ng mga rehiyon sa column C depende sa kung aling bansa ang napili sa column B, gagawa ka ng listahan ng mga rehiyon para sa bawat bansa at pangalanan ito pagkatapos ng pangalan ng bansa, eksakto kung paano lumalabas ang bansa sa pangalawang dropdown na listahan. Halimbawa, ang isang listahan ng mga rehiyon ng India ay dapat na pinangalanang "India", isang listahan ng mga rehiyon ng China - "China", at iba pa.

    Pagkatapos nito, pipili ka ng cell para sa ika-3 dropdown (C2 sa aming case) at ilapat ang Excel Data Validation gamit ang sumusunod na formula (Ang B2 ay ang cell na may pangalawang drop-down na menu na naglalaman ng listahan ng mga bansa):

    =INDIRECT(B2)

    Ngayon, sa tuwing pipiliin mo ang India sa ilalim ng listahan ng mga bansa sa column B, magkakaroon ka ng mga sumusunod na pagpipilian sa ikatlong drop-down:

    Tandaan. Ang ipinapakitang listahan ng mga rehiyon ay natatangi para sa bawat bansa ngunit hindi ito nakadepende sa pagpili sa unang drop-down na listahan.

    Gumawa ng ikatlong dropdown na nakadepende sa unang dalawang listahan

    Kung kailangan mong gumawa ng cascading drop down na menu na nakadepende sa mga pagpipilian sa una at pangalawang drop-down na listahan, pagkatapos ay magpatuloy sa ganitong paraan :

    1. Gumawa ng mga karagdagang hanay ng mga pinangalanang hanay, at pangalanan ang mga ito para sa mga kumbinasyon ng salita sa iyong unang dalawang dropdown. Halimbawa, mayroon kang Mango, Oranges, atbp. sa unang listahan at India, Brazil, atbp. sa ika-2.Pagkatapos ay gagawa ka ng mga pinangalanang hanay MangoIndia , MangoBrazil , OrangesIndia , OrangesBrazil , atbp. Ang mga pangalang ito ay hindi dapat maglaman ng mga underscore o anumang iba pang mga karagdagang character .

  • Ilapat ang Excel Data Validation gamit ang INDIRECT SUBSTITUTE formula na pinagsasama-sama ang mga pangalan ng mga entry sa unang dalawang column, at inaalis ang mga puwang sa mga pangalan. Halimbawa, sa cell C2, ang data validation formula ay magiging:
  • =INDIRECT(SUBSTITUTE(A2&B2," ",""))

    Kung saan ang A2 at B2 ay naglalaman ng una at pangalawang dropdown, ayon sa pagkakabanggit.

    Bilang resulta, ang iyong ika-3 drop -down list ay magpapakita ng mga rehiyon na tumutugma sa Prutas at Bansa na pinili sa unang 2 drop-down na listahan.

    Ito ang pinakamadaling paraan upang lumikha ng mga cascading drop-down box sa Excel. Gayunpaman, ang pamamaraang ito ay may ilang bilang ng mga limitasyon.

    Mga limitasyon ng diskarteng ito:

    1. Ang mga item sa iyong pangunahing drop-down na listahan ay dapat na isang salita mga entry. Tingnan kung paano gumawa ng mga cascading drop-down list na may mga multi-word na entry.
    2. Hindi gagana ang paraang ito kung ang mga entry sa iyong pangunahing drop-down list ay naglalaman ng mga character na hindi pinapayagan sa mga pangalan ng range, gaya ng hyphen ( -), ampersand (&), atbp. Ang solusyon ay lumikha ng isang dynamic na cascading dropdown na walang ganitong paghihigpit.
    3. Ang mga drop-down na menu na ginawa sa ganitong paraan ay hindi awtomatikong ina-update ibig sabihin, kakailanganin mong baguhin ang mga pinangalanang hanay'mga sanggunian sa tuwing nagdaragdag o nag-aalis ka ng mga item sa mga listahan ng pinagmulan. Upang malampasan ang limitasyong ito, subukang gumawa ng dynamic na cascading drop-down list.

    Gumawa ng mga cascading drop-down list na may mga multi-word na entry

    Ang INDIRECT formula na ginamit namin sa halimbawa sa itaas ay maaaring humawak ng isang salita na mga item lamang. Halimbawa, ang formula =INDIRECT(A2) ay hindi direktang tumutukoy sa cell A2 at ipinapakita ang pinangalanang hanay nang eksakto sa parehong pangalan tulad ng nasa reference na cell. Gayunpaman, hindi pinapayagan ang mga puwang sa mga pangalan ng Excel, kaya naman hindi gagana ang formula na ito sa mga multi-word na pangalan.

    Ang solusyon ay gamitin ang INDIRECT function kasama ng SUBSTITUTE tulad ng ginawa namin noong lumikha ng ika-3 dropdown.

    Ipagpalagay na mayroon kang Water melon sa mga produkto. Sa kasong ito, pangalanan mo ang isang listahan ng mga nag-export ng water melon na may isang salita na walang mga puwang - Watermelon .

    Pagkatapos, para sa pangalawang dropdown, ilapat ang Excel Data Validation gamit ang sumusunod na formula na nag-aalis ng mga puwang mula sa pangalan sa cell A2:

    =INDIRECT(SUBSTITUTE(A2," ",""))

    Paano pigilan ang mga pagbabago sa pangunahing drop down na listahan

    Isipin ang sumusunod na senaryo . Ang iyong user ay gumawa ng mga pagpili sa lahat ng mga drop-down na listahan, pagkatapos ay nagbago ang kanilang isip, bumalik sa unang listahan, at pumili ng isa pang item. Bilang resulta, hindi tugma ang 1st at 2nd na mga pagpipilian. Upang maiwasang mangyari ito, maaaring gusto mong i-block ang anumang mga pagbabago sa unang drop-down list sa sandaling magawa ang pagpili sa pangalawang listahan.

    Upang gawin ito, kapag gumagawa ng unang dropdown, gumamit ng espesyal na formula na titingnan kung may napiling entry sa pangalawang drop down na menu:

    =IF(B2="", Fruit, INDIRECT("FakeList"))

    Kung saan naglalaman ang B2 ng pangalawang dropdown, ang " Fruit " ay ang pangalan ng listahang lalabas sa unang drop-down na menu, at " FakeList " ay anumang pekeng pangalan na hindi umiiral.

    Ngayon, kung anumang item ang pipiliin sa ika-2 drop-down na listahan, walang mga pagpipilian na magagamit kapag ang nag-click ang user sa arrow sa tabi ng unang listahan.

    Paggawa ng mga dynamic na cascading drop-down na listahan sa Excel

    Ang pangunahing bentahe ng isang dynamic na Excel dependent na drop-down list ay na malaya kang i-edit ang mga listahan ng pinagmulan at ang iyong mga drop-down box ay maa-update sa mabilisang. Siyempre, ang paggawa ng mga dynamic na dropdown ay nangangailangan ng kaunting oras at mas kumplikadong mga formula, ngunit naniniwala ako na ito ay isang karapat-dapat na pamumuhunan dahil kapag na-set up na, ang mga naturang drop-down na menu ay talagang kasiyahang gamitin.

    Tulad ng halos anumang bagay sa Excel, makakamit mo ang parehong resulta sa maraming paraan. Sa partikular, maaari kang lumikha ng isang dynamic na dropdown gamit ang isang kumbinasyon ng mga OFFSET, INDIRECT at COUNTA function o isang mas nababanat na formula ng INDEX MATCH. Ang huli ay ang gusto kong paraan dahil nagbibigay ito ng maraming pakinabang, ang pinakamahalaga sa mga ito ay:

    1. Kailangan mong lumikha ng 3 pinangalanang hanay lamang, gaano manmaraming item ang nasa pangunahing at dependent na listahan.
    2. Maaaring naglalaman ang iyong mga listahan ng mga multi-word item at anumang espesyal na character.
    3. Ang bilang ng mga entry ay maaaring mag-iba sa bawat column.
    4. Hindi mahalaga ang pagkakasunud-sunod ng mga entry.
    5. Sa wakas, napakadaling mapanatili at baguhin ang mga listahan ng pinagmulan.

    Okay, sapat na teorya, magsanay na tayo.

    1. Ayusin ang iyong source data sa isang table

    Gaya ng dati, ang unang bagay na dapat mong gawin ay isulat ang lahat ng mga pagpipilian para sa iyong mga drop-down na listahan sa isang worksheet. Sa pagkakataong ito, iimbak mo ang source data sa isang Excel table. Para dito, kapag naipasok mo na ang data, piliin ang lahat ng mga entry at pindutin ang Ctrl + T o i-click ang Insert tab > Table . Pagkatapos ay mag-type ng pangalan ng iyong talahanayan sa kahon na Pangalan ng Talahanayan .

    Ang pinaka-maginhawa at visual na diskarte ay ang pag-imbak ng mga item para sa unang drop-down bilang mga header ng talahanayan, at ang mga item para sa ang dependent dropdown bilang data ng talahanayan. Ang screenshot sa ibaba ay naglalarawan ng istraktura ng aking talahanayan, na pinangalanang exporters_tbl - ang mga pangalan ng prutas ay mga header ng talahanayan at isang listahan ng mga nag-e-export na bansa ay idinagdag sa ilalim ng kaukulang pangalan ng prutas.

    2. Lumikha ng mga pangalan ng Excel

    Ngayong handa na ang iyong source data, oras na para mag-set up ng mga pinangalanang reference na dynamic na kukuha ng tamang listahan mula sa iyong talahanayan.

    2.1. Magdagdag ng pangalan para sa header row ng talahanayan (pangunahing dropdown)

    Upang gumawa ng abagong pangalan na tumutukoy sa header ng talahanayan, piliin ito at pagkatapos ay i-click ang Mga Formula > Name Manager > Bago o pindutin ang Ctrl + F3 .

    Gagamitin ng Microsoft Excel ang built-in na table reference system para likhain ang pangalan ng table_name[#Headers] pattern.

    Bigyan ito ng kaunti makabuluhan at madaling matandaan ang pangalan, hal. fruit_list , at i-click ang OK .

    2.2. Gumawa ng pangalan para sa cell na naglalaman ng unang drop-down list

    Alam kong wala ka pang dropdown :) Ngunit kailangan mong piliin ang cell na magho-host ng iyong unang dropdown at lumikha ng pangalan para doon cell ngayon dahil kakailanganin mong isama ang pangalang ito sa reference ng ikatlong pangalan.

    Halimbawa, ang aking unang drop-down box ay nasa cell B1 sa Sheet 2, kaya gumawa ako ng pangalan para dito, isang simpleng bagay at maliwanag tulad ng prutas :

    Tip. Gumamit ng naaangkop na mga cell reference sa kopyahin ang mga drop-down na listahan sa worksheet.

    Pakisiguradong basahin nang mabuti ang sumusunod na ilang talata dahil ito ay isang napaka-kapaki-pakinabang na tip na hindi mo gustong makaligtaan . Maraming salamat kay Karen sa pag-post nito!

    Kung plano mong kopyahin ang iyong mga drop-down list sa ibang mga cell, pagkatapos ay gumamit ng mga mixed cell reference kapag lumilikha ng pangalan para sa (mga) cell gamit ang iyong unang drop-down list.

    Para makopya nang tama ang mga drop-down sa iba pang column (ibig sabihin, sa kanan), gumamit ng relative column (nang walang $

    Si Michael Brown ay isang dedikadong mahilig sa teknolohiya na may hilig sa pagpapasimple ng mga kumplikadong proseso gamit ang mga tool sa software. Sa higit sa isang dekada ng karanasan sa industriya ng tech, hinasa niya ang kanyang mga kasanayan sa Microsoft Excel at Outlook, pati na rin ang Google Sheets at Docs. Ang blog ni Michael ay nakatuon sa pagbabahagi ng kanyang kaalaman at kadalubhasaan sa iba, na nagbibigay ng madaling sundan na mga tip at mga tutorial para sa pagpapabuti ng pagiging produktibo at kahusayan. Isa ka mang batikang propesyonal o baguhan, nag-aalok ang blog ni Michael ng mahahalagang insight at praktikal na payo para masulit ang mahahalagang software tool na ito.