Miten tehdä riippuvainen (kaskadoituva) pudotusluettelo Excelissä?

  • Jaa Tämä
Michael Brown

Jokin aika sitten aloimme tutustua Excelin tietojen validoinnin mahdollisuuksiin ja opimme, miten Excelissä voidaan luoda yksinkertainen pudotusluettelo pilkulla erotetun luettelon, solualueen tai nimetyn alueen perusteella.

Tänään tutkimme tätä ominaisuutta perusteellisesti ja opimme, miten luodaan kaskadoituvia pudotusluetteloita, jotka näyttävät valintoja riippuen ensimmäiseen pudotusluetteloon valitusta arvosta. Toisin sanoen teemme Excelin tietojen vahvistusluettelon, joka perustuu toisen luettelon arvoon.

    Kuinka luoda useita riippuvaisia pudotusvalikkoja Excelissä

    Monitasoisten riippuvaisten pudotusluetteloiden tekeminen Excelissä on helppoa. Tarvitset vain muutaman nimetyn alueen ja kaavan INDIRECT. Tämä menetelmä toimii kaikissa Excel 365 - 2010 ja sitä aikaisemmissa Excel-versioissa.

    1. Kirjoita pudotusluetteloiden merkinnät.

    Kirjoita aluksi merkinnät, joiden haluat näkyvän pudotusluetteloissa, kukin luettelo omassa sarakkeessaan. Luon esimerkiksi hedelmien viejien kaskadoituvan pudotusluettelon ja lähdeluettelon sarakkeen A ( Hedelmät ) sisältää ensimmäisen pudotusvalikon kohteet ja kolme muuta saraketta luettelevat riippuvaisten pudotusvalikoiden kohteet.

    2. Luo nimettyjä alueita

    Nyt sinun on luotava nimet päälistallesi ja jokaiselle riippuvaiselle listalle. Voit tehdä tämän joko lisäämällä uuden nimen kenttään Nimi Manager ikkuna ( Kaavat tab> Nimi Manager> Uusi) tai kirjoittamalla nimi suoraan Nimen laatikko .

    Huomaa, että jos ensimmäinen rivi on jonkinlainen sarakeotsikko, kuten yllä olevassa kuvakaappauksessa, sitä ei saa sisällyttää nimettyyn alueeseen.

    Yksityiskohtaiset vaiheittaiset ohjeet löydät kohdasta Nimen määrittäminen Excelissä.

    Muistettavaa:

    1. Ensimmäisessä avattavassa luettelossa olevien kohteiden on oltava yksisanaisia, esim. seuraavat. Aprikoosi , Mango , Appelsiinit Jos sinulla on kohteita, jotka koostuvat kahdesta, kolmesta tai useammasta sanasta, katso lisätietoja kohdasta Miten luodaan monisanaisia kohteita sisältävä kaskadoituva pudotusvalikko.
    2. Riippuvien luetteloiden nimien on oltava täsmälleen samat kuin pääluettelon vastaavan merkinnän. Esimerkiksi riippuvainen luettelo, joka näytetään, kun " Mango " on valittu ensimmäisestä pudotusvalikosta, on nimettävä seuraavasti. Mango .

    Kun olet valmis, voit painaa Ctrl+F3 avataksesi komentosarjan Nimi Manager ikkunasta ja tarkista, että kaikissa luetteloissa on oikeat nimet ja viitteet.

    3. Tee ensimmäinen (pää)pudotusluettelo.

    1. Valitse samasta tai toisesta laskentataulukosta solu tai useita soluja, joissa haluat ensisijaisen avattavan luettelon näkyvän.
    2. Mene osoitteeseen Tiedot välilehdellä, napsauta Tietojen validointi ja määrittää nimettyyn alueeseen perustuvan pudotusluettelon tavalliseen tapaan valitsemalla Luettelo osoitteessa Salli ja syöttämällä alueen nimi kenttään Lähde laatikko.

    Yksityiskohtaiset vaiheet ovat kohdassa Pudotusluettelon luominen nimetyn alueen perusteella.

    Tuloksena saat työarkkiin tämän kaltaisen pudotusvalikon:

    4. Luo riippuvainen pudotusluettelo

    Valitse solu(t) riippuvaista pudotusvalikkoa varten ja sovella Excelin tietojen validointia uudelleen edellisessä vaiheessa kuvatulla tavalla. Tällä kertaa kirjoitat kuitenkin alueen nimen sijasta seuraavan kaavan kenttään: - Valitse solu(t) ja sovella sitä. Lähde kenttä:

    =INDIRECT(A2)

    A2 on solu, jossa on ensimmäinen (ensisijainen) pudotusluettelo.

    Jos solu A2 on tällä hetkellä tyhjä, saat virheilmoituksen " Lähde on tällä hetkellä virhe. Haluatko jatkaa? "

    Napsauta turvallisesti Kyllä , ja heti kun valitset kohteen ensimmäisestä pudotusvalikosta, näet sitä vastaavat merkinnät toisessa, riippuvaisessa pudotusvalikossa.

    5. Lisää kolmas riippuvainen pudotusluettelo (valinnainen).

    Tarvittaessa voit lisätä kolmannen kaskadoituvan pudotusvalikon, joka riippuu joko toisen pudotusvalikon valinnasta tai kahden ensimmäisen pudotusvalikon valinnoista.

    Määritä 3. pudotusvalikko, joka riippuu 2. luettelosta

    Voit tehdä tämäntyyppisen pudotusvalikon samalla tavalla kuin teimme juuri toisen riippuvaisen pudotusvalikon. Muista vain kaksi tärkeää asiaa, jotka käsiteltiin edellä ja jotka ovat välttämättömiä kaskadoituvien pudotusvalikoiden oikean toiminnan kannalta.

    Jos esimerkiksi haluat näyttää sarakkeessa C luettelon alueista riippuen siitä, mikä maa on valittu sarakkeessa B, luot kunkin maan alueluettelon ja nimeät sen maan nimen mukaan, juuri niin kuin maa näkyy toisessa pudotusluettelossa. Esimerkiksi Intian alueiden luettelon nimi on "Intia", Kiinan alueiden luettelon "Kiina" ja niin edelleen.

    Tämän jälkeen valitset solun 3. pudotusvalikolle (C2 tässä tapauksessa) ja sovellat Excelin tietojen validointia seuraavalla kaavalla (B2 on solu, jossa on toinen pudotusvalikko, joka sisältää luettelon maista):

    =INDIRECT(B2)

    Nyt aina kun valitset Intia sarakkeessa B olevan maaluettelon alla kolmannessa pudotusvalikossa on seuraavat vaihtoehdot:

    Huomautus: Näytettävä alueluettelo on yksilöllinen jokaiselle maalle, mutta se ei riipu ensimmäisen avattavan luettelon valinnasta.

    Luo kolmas pudotusvalikko, joka on riippuvainen kahdesta ensimmäisestä luettelosta.

    Jos haluat luoda kaskadoituvan pudotusvalikon, joka riippuu sekä ensimmäisen että toisen pudotusvalikon valinnoista, toimi näin:

    1. Luo lisää nimettyjä aluejoukkoja ja nimeä ne kahden ensimmäisen pudotusvalikon sanayhdistelmien mukaan. Esimerkiksi Mango, appelsiinit jne. ensimmäisessä luettelossa ja Intia, Brasilia jne. 2. Sitten luodaan nimettyjä alueita. MangoIndia , MangoBrazil , AppelsiinitIntia , AppelsiinitBrasilia jne. Nämä nimet eivät saa sisältää alleviivauksia tai muita lisämerkkejä.

  • Sovelletaan Excelin tietojen validointia INDIRECT SUBSTITUTE -kaavalla, joka yhdistää kahden ensimmäisen sarakkeen merkintöjen nimet ja poistaa välilyönnit nimistä. Esimerkiksi solussa C2 tietojen validointikaava olisi:
  • =INDIRECT(SUBSTITUTE(A2&B2," ","")))

    Jossa A2 ja B2 sisältävät ensimmäisen ja toisen pudotusvalikon.

    Tämän seurauksena 3. pudotusvalikossa näkyvät alueet, jotka vastaavat seuraavaa Hedelmät ja Maa valittu kahdessa ensimmäisessä pudotusvalikossa.

    Tämä on helpoin tapa luoda Excelissä kaskadoituvia pudotusvalikoita. Menetelmällä on kuitenkin useita rajoituksia.

    Tämän lähestymistavan rajoitukset:

    1. Ensisijaisen pudotusluettelon kohteiden on oltava yhden sanan merkintöjä. Katso, miten luodaan kaskadoituvia pudotusluetteloita, joissa on usean sanan merkintöjä.
    2. Tämä menetelmä ei toimi, jos pääpudotusluettelon merkinnät sisältävät merkkejä, jotka eivät ole sallittuja alueiden nimissä, kuten väliviiva (-), &) jne. Ratkaisu on luoda dynaaminen kaskadoituva pudotusluettelo, jossa ei ole tätä rajoitusta.
    3. Tällä tavoin luotuja pudotusvalikoita ei päivitetä automaattisesti, eli sinun on muutettava nimettyjen alueiden viittauksia aina, kun lisäät tai poistat kohteita lähdeluetteloista. Voit päästä tästä rajoituksesta eroon kokeilemalla dynaamisen kaskadoituvan pudotusluettelon luomista.

    Luo kaskadoituvia pudotusluetteloita, joissa on useita sanoja sisältäviä merkintöjä.

    INDIRECT-kaavat, joita käytimme yllä olevassa esimerkissä, voivat käsitellä vain yhden sanan kohteita. Esimerkiksi kaava =INDIRECT(A2) viittaa epäsuorasti soluun A2 ja näyttää nimetyn alueen täsmälleen samalla nimellä kuin viitatussa solussa on. Välilyöntejä ei kuitenkaan sallita Excelin nimissä, minkä vuoksi tämä kaava ei toimi monisanaisilla nimillä.

    Ratkaisu on käyttää INDIRECT-toimintoa yhdessä SUBSTITUTE-toiminnon kanssa, kuten teimme luodessamme kolmatta pudotusvalikkoa.

    Oletetaan, että sinulla on Vesimeloni Tässä tapauksessa nimetään vesimelonin viejien luettelo yhdellä sanalla ilman välilyöntejä - Vesimeloni .

    Sovella sitten toiseen pudotusvalikkoon Excelin tietojen validointia seuraavalla kaavalla, joka poistaa välilyönnit solun A2 nimestä:

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

    Miten estää muutokset ensisijaisessa pudotusluettelossa?

    Kuvittele seuraava skenaario. Käyttäjäsi on tehnyt valinnat kaikissa pudotusvalikossa, mutta sitten hän muuttaa mieltään, palaa ensimmäiseen luetteloon ja valitsee toisen kohteen. Tämän seurauksena ensimmäinen ja toinen valinta eivät vastaa toisiaan. Estääksesi tämän haluat ehkä estää kaikki muutokset ensimmäisessä pudotusvalikossa heti, kun valinta on tehty toisessa luettelossa.

    Käytä tätä varten ensimmäistä pudotusvalikkoa luodessasi erityistä kaavaa, jolla tarkistetaan, onko toisessa pudotusvalikossa jokin merkintä valittu:

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

    Jossa B2 sisältää toisen pudotusvalikon, " Hedelmät " on ensimmäisessä pudotusvalikossa näkyvän luettelon nimi, ja " FakeList " on mikä tahansa tekaistu nimi, jota ei ole olemassa.

    Jos jokin kohde on valittuna toisessa pudotusvalikossa, mitään vaihtoehtoja ei ole käytettävissä, kun käyttäjä napsauttaa ensimmäisen luettelon vieressä olevaa nuolta.

    Dynaamisten kaskadoituvien pudotusluetteloiden luominen Excelissä

    Dynaamisen Excel-riippuvaisen pudotusvalikon tärkein etu on se, että voit vapaasti muokata lähdeluetteloita ja pudotusvalikot päivittyvät lennossa. Dynaamisten pudotusvalikoiden luominen vaatii tietysti hieman enemmän aikaa ja monimutkaisempia kaavoja, mutta uskon, että tämä on kannattava investointi, koska kun ne on kerran luotu, tällaisten pudotusvalikoiden kanssa on todella mukava työskennellä.

    Kuten melkein kaikessa Excelissä, voit saavuttaa saman tuloksen useilla eri tavoilla. Voit luoda dynaamisen pudotusvalikon käyttämällä OFFSET-, INDIRECT- ja COUNTA-funktioiden yhdistelmää tai kestävämpää INDEX MATCH -kaavaa. Jälkimmäinen on suosikkini, koska se tarjoaa lukuisia etuja, joista tärkeimmät ovat seuraavat:

    1. Sinun on luotava vain 3 nimettyä aluetta riippumatta siitä, kuinka monta kohdetta pää- ja riippuvaisluettelossa on.
    2. Luettelot voivat sisältää monisanaisia kohteita ja erikoismerkkejä.
    3. Merkintöjen määrä voi vaihdella kussakin sarakkeessa.
    4. Tietueiden lajittelujärjestyksellä ei ole merkitystä.
    5. Lisäksi lähdeluetteloita on erittäin helppo ylläpitää ja muokata.

    Okei, teoriaa riittää, siirrytään käytäntöön.

    1. Järjestä lähdetiedot taulukkoon.

    Kuten tavallista, sinun on ensin kirjoitettava kaikki pudotusvalikoiden vaihtoehdot työtaulukkoon. Tällä kertaa sinun on tallennettava lähdetiedot Excel-taulukkoon. Kun olet syöttänyt tiedot, valitse kaikki merkinnät ja paina Ctrl + T tai napsauta painiketta Lisää tab> Taulukko Kirjoita sitten taulukon nimi kenttään Taulukon nimi laatikko.

    Kätevin ja visuaalisin lähestymistapa on tallentaa ensimmäisen pudotusvalikon kohteet taulukon otsikoiksi ja riippuvaisen pudotusvalikon kohteet taulukon tiedoiksi. Alla oleva kuvakaappaus havainnollistaa taulukkoni rakennetta nimellä viejät_tbl - hedelmien nimet ovat taulukkootsikoita, ja vastaavien hedelmien nimien alle on lisätty luettelo viejämaista.

    2. Luo Excel-nimiä

    Nyt kun lähdetiedot ovat valmiina, on aika määrittää nimetyt viittaukset, jotka hakevat dynaamisesti oikean luettelon taulukosta.

    2.1. Lisää nimi taulukon otsikkoriville (pääpudotusvalikko).

    Jos haluat luoda uuden nimen, joka viittaa taulukon otsikkoon, valitse se ja napsauta sitten joko kohtaa Kaavat > Nimi Manager > Uusi tai paina Ctrl + F3 .

    Microsoft Excel käyttää sisäänrakennettua taulukkoviitejärjestelmää luodakseen nimen table_name[#Headers] kuvio.

    Anna sille jokin mielekäs ja helposti muistettava nimi, esim. fruit_list ja napsauta OK .

    2.2. Luo nimi solulle, joka sisältää ensimmäisen avattavan luettelon.

    Tiedän, että sinulla ei ole vielä mitään pudotusvalikkoa :) Mutta sinun on valittava solu, joka isännöi ensimmäistä pudotusvalikkoa, ja luot nyt nimen tälle solulle, koska sinun on sisällytettävä tämä nimi kolmannen nimen viittaukseen.

    Esimerkiksi ensimmäinen pudotusvalikko sijaitsee Sheet 2:n solussa B1, joten luon sille nimen, joka on yksinkertainen ja itsestään selvä, kuten esimerkiksi hedelmät :

    Vihje. Käytä sopivia soluviittauksia kopioi pudotusluetteloita koko työarkin poikki.

    Muistakaa lukea seuraavat kappaleet huolellisesti, koska tämä on erittäin hyödyllinen vinkki, jota ette halua missata. Kiitos paljon Karenille sen lähettämisestä!

    Jos aiot kopioida pudotusluettelot muihin soluihin, käytä sekoitettuja soluviittauksia, kun luot ensimmäisen pudotusluettelon solun (solujen) nimen.

    Jotta pudotusvalikot voidaan kopioida oikein muihin sarakkeet (eli oikealle), käytä suhteellisia sarakeviittauksia (ilman $-merkkiä) ja absoluuttisia riviviittauksia ($:n kanssa), kuten = Sheet2!B$1.

    Tuloksena B1:n riippuvainen pudotusluettelo näkyy solussa B2, C1:n riippuvainen pudotusluettelo näkyy solussa C2 ja niin edelleen.

    Ja jos aiot kopioida pudotusvalikot muihin rivit (eli saraketta alaspäin), käytä absoluuttisia sarakekoordinaatteja ($:n kanssa) ja suhteellisia rivikoordinaatteja (ilman $:a), kuten = Sheet2!$B1.

    Jos haluat kopioida pudotussolun mihin tahansa suuntaan, käytä suhteellista viittausta (ilman $-merkkiä), kuten = Sheet2!B1.

    2.3. Luo nimi, jolla haetaan riippuvaisen valikon merkinnät.

    Sen sijaan, että jokaiselle riippuvuusluettelolle määritettäisiin yksilölliset nimet, kuten edellisessä esimerkissä, luomme vain yhden nimen nimetty kaava jota ei ole määritetty mihinkään tiettyyn soluun tai solualueeseen. Se hakee oikean luettelon merkinnöistä toiseen pudotusvalikkoon riippuen siitä, mikä valinta on tehty ensimmäisessä pudotusvalikossa. Tämän kaavan käytön tärkein etu on, että sinun ei tarvitse luoda uusia nimiä, kun lisäät uusia merkintöjä ensimmäiseen pudotusvalikkoon - yksi nimetty kaava kattaa ne kaikki.

    Tällä kaavalla luodaan uusi Excel-nimi:

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

    Missä:

    • viejät_tbl - (vaiheessa 1 luodun) taulukon nimi;
    • hedelmät - sen solun nimi, joka sisältää ensimmäisen avattavan luettelon (luotu vaiheessa 2.2);
    • fruit_list - nimi, joka viittaa taulukon otsikkoriviin (luotu vaiheessa 2.1).

    Annoin sille nimen exporters_list , kuten näet alla olevassa kuvakaappauksessa.

    No, olet jo tehnyt suurimman osan työstä! Ennen kuin siirryt viimeiseen vaiheeseen, voi olla hyvä idea avata Nimenhallinta ( Ctrl + F3 ) ja tarkistaa nimet ja viittaukset:

    3. Excel-tietojen validoinnin määrittäminen

    Tämä on itse asiassa helpoin osa. Kun kaksi nimettyä kaavaa on käytössä, asetat tietojen validoinnin tavalliseen tapaan ( Tiedot tab> Tietojen validointi ).

    • Kirjoita ensimmäiseen avattavaan luetteloon Source (Lähde) -kenttään seuraavat tiedot =fruit_list (vaiheessa 2.1 luotu nimi).
    • Kirjoita pudotusvalikossa olevaan riippuvaisten luetteloon =exporters_list (vaiheessa 2.3 luotu nimi).

    Valmis! Dynaaminen kaskadoituva pudotusvalikko on valmis ja päivittyy automaattisesti heijastaen lähdetaulukkoon tekemiäsi muutoksia.

    Tässä dynaamisessa Excel-pudotusvalikossa, joka on täydellinen kaikilta muilta osin, on yksi puute - jos lähdetaulukon sarakkeet sisältävät eri määrän kohteita, tyhjät rivit näkyvät valikossa näin:

    Tyhjien rivien jättäminen pois dynaamisesta kaskadoituvasta pudotusvalikosta

    Jos haluat puhdistaa tyhjät rivit pudotusvalikosta, sinun on otettava askel pidemmälle ja parannettava INDEX / MATCH-kaavaa, jota käytetään riippuvaisen dynaamisen pudotusvalikon luomiseen.

    Ajatuksena on käyttää kahta INDEX-funktiota, joista ensimmäinen saa alueen vasemmanpuoleisen yläsolun ja toinen palauttaa alueen oikeanpuoleisen alasolun, tai OFFSET-funktiota, jossa on sisäkkäisiä INDEX- ja COUNTA-funktioita. Yksityiskohtaiset vaiheet seuraavat alla:

    1. Luo kaksi lisänimeä

    Jotta kaava ei olisi liian laaja, luo ensin pari apunimeä seuraavilla yksinkertaisilla kaavoilla:

    • Nimi nimeltä col_num viittaamaan valittuun sarakkeen numeroon:

      =MATCH(fruit,fruit_list,0)

    • Nimi nimeltä koko_col viittaamaan valittuun sarakkeeseen (ei sarakkeen numeroon vaan koko sarakkeeseen):

      =INDEX(exporters_tbl,,col_num)

    Edellä olevissa kaavoissa, viejät_tbl on lähdetaulukkosi nimi, hedelmät on ensimmäisen pudotusvalikon sisältävän solun nimi, ja fruit_list on taulukon otsikkoriviin viittaava nimi.

    2. Luo nimetty viittaus riippuvaiselle pudotusvalikolle

    Käytä seuraavaksi jompaakumpaa alla olevista kaavoista luodaksesi uuden nimen (sanotaanpa sitä vaikka viejien_luettelo2 ), jota käytetään riippuvaisen avattavan luettelon kanssa:

    =INDEX(exporters_tbl,1,col_num) : INDEX(exporters_tbl, COUNTA(whole_col), col_num)

    =OFFSET(INDEX(exporters_tbl,1,col_num),0,0,0,COUNTA(whole_col))

    3. Sovelletaan tietojen validointia

    Valitse lopuksi solu, joka sisältää riippuvaisen pudotusvalikon, ja sovella tietojen validointia syöttämällä = viejien_luettelo2 (edellisessä vaiheessa luotu nimi)in Lähde laatikko.

    Alla olevassa kuvakaappauksessa näkyy Excelin dynaaminen pudotusvalikko, jossa kaikki tyhjät rivit ovat poissa!

    Huomautus: Kun työskentelet dynaamisten kaskadoituvien pudotusvalikoiden kanssa, jotka on luotu yllä olevilla kaavoilla, mikään ei estä käyttäjää muuttamasta ensimmäisen pudotusvalikon arvoa sen jälkeen, kun valinta on tehty toisessa valikossa, minkä seurauksena ensisijaisen ja toissijaisen pudotusvalikon valinnat voivat olla ristiriidassa keskenään. Voit estää muutokset ensimmäisessä pudotusvalikossa sen jälkeen, kun valinta on tehty toisessa, joko VBA:n taimonimutkaisia kaavoja, joita ehdotetaan tässä opetusohjelmassa.

    Näin luodaan Excelin tietojen vahvistusluettelo toisen luettelon arvojen perusteella. Voit vapaasti ladata esimerkkityökirjamme nähdäksesi kaskadoituvat pudotusluettelot toiminnassa. Kiitos lukemisesta!

    Käytännön työkirja ladattavissa

    Cascading Dropdown Sample 1- helppo versio

    Cascading Dropdown Sample 2 - kehittynyt versio ilman tyhjiä kohtia

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.