Lag en dynamisk avhengig rullegardinliste i Excel på en enkel måte

  • Dele Denne
Michael Brown

Opplæringen viser hvordan du lager en Excel-rullegardinliste avhengig av en annen celle ved å bruke nye dynamiske array-funksjoner.

Det er enkelt å lage en enkel rullegardinliste i Excel. Å lage en rullegardin med flere nivåer har alltid vært en utfordring. Den lenkede opplæringen ovenfor beskriver fire forskjellige tilnærminger, som hver inkluderer et vanvittig antall trinn, en haug med forskjellige formler og en håndfull begrensninger knyttet til oppføringer med flere ord, tomme celler osv.

Det var det dårlige nyheter. Den gode nyheten er at disse metodene ble designet for pre-dynamiske versjoner av Excel. Introduksjonen av dynamiske arrays i Excel 365 har endret alt! Med nye dynamiske array-funksjoner er det et spørsmål om minutter, om ikke sekunder, å lage en rullegardinliste som er avhengig av flere. Ingen triks, ingen forbehold, ingen tull. Bare raske, enkle og enkle å følge løsninger.

    Merknader:

    • Denne nye dynamiske array-måten for å lage rullegardinlister fungerer kun i Excel 365 og Excel 2021. I pre-dynamisk Excel må du gjøre det på den gamle måten som beskrevet i Opprette en avhengig rullegardin i Excel 2019 - 2007.
    • Denne løsningen er for en enkelt rad. Hvis du vil kopiere valglistene dine ned flere rader , følg instruksjonene i rullegardinlisten Avhengig for flere rader.
    • Hvordan lage en dynamisk rullegardinliste i Excel

      Dette eksemplet demonstrerer det generelletilnærming til å lage en rullegardinliste i Excel ved å bruke de nye dynamiske array-funksjonene.

      Forutsatt at du har en liste over frukt i kolonne A og eksportører i kolonne B. En ekstra komplikasjon er at fruktnavnene ikke er gruppert, men spredt over kolonnen. Målet er å sette de unike fruktnavnene i den første rullegardinmenyen og avhengig av brukerens valg vise de relevante eksportørene i den andre rullegardinlisten.

      For å lage en dynamisk avhengig rullegardinliste i Excel, utfør disse trinnene:

      1. Hent elementer for hovedrullegardinlisten

      For det første skal vi trekke ut alle forskjellige fruktnavn fra kolonne A. Dette kan gjøres ved å bruke UNIQUE-funksjonen i sin enkleste form - oppgi fruktlisten for det første argumentet ( array ) og utelat de gjenværende valgfrie argumentene siden standardinnstillingene deres fungerer helt fint for oss:

      =UNIQUE(A3:A15)

      Formelen går til G3, og etter å ha trykket på Enter-tasten resultatene går automatisk inn i de neste cellene.

      2. Opprett hovedrullegardinmenyen

      For å lage din primære rullegardinliste, konfigurer en Excel-datavalideringsregel på denne måten:

      • Velg en celle der du vil at rullegardinlisten skal vises (D3 i vårt tilfelle).
      • Data -fanen, i Dataverktøy -gruppen, klikk Datavalidering .
      • I dialogboksen Datavalidering gjør du følgende:
        • Under Tillat velger du Liste .
        • I boksen Kilde skriver du inn referansen til utslippsområdet som er utgitt av den UNIKE formelen. For dette, skriv inn hash-taggen rett etter cellereferansen, slik: =$G$3#

          Dette kalles en spillområdereferanse, og denne syntaksen refererer til hele området uavhengig av hvor mye den utvides eller trekker seg sammen.

        • Klikk OK for å lukke dialogboksen.

      Din primære drop- nedlisten er ferdig!

      3. Hent elementer for den avhengige rullegardinlisten

      For å få oppføringer for den sekundære rullegardinmenyen, filtrerer vi verdiene i kolonne B basert på verdien valgt i den første rullegardinmenyen. Dette kan gjøres ved hjelp av en annen dynamisk array-funksjon kalt FILTER:

      =FILTER(B3:B15, A3:A15=D3)

      Hvor B3:B15 er kildedataene for din avhengige rullegardin, A3:A15 er kildedataene for din hovedrullegardin, og D3 er hovedrullegardincellen.

      For å sikre at formelen fungerer riktig, kan du velge en verdi i den første rullegardinlisten og observere resultatene som returneres av FILTER. Perfekt! :)

      4. Gjør den avhengige rullegardinlisten

      For å opprette den andre rullegardinlisten, konfigurer datavalideringskriteriene nøyaktig slik du gjorde for den første rullegardinlisten i trinn 2. Men denne gangen refererer du til utslippsområdet som returneres av FILTER-funksjonen: =$H$3#

      Det er det! Din Excel-avhengige rullegardinliste er klar til bruk.

      Tips ogmerknader:

      • For å få de nye oppføringene inkludert i rullegardinlisten automatisk , formater kildedataene dine som en Excel-tabell. Eller du kan inkludere noen få tomme celler i formlene dine som vist i dette eksemplet.
      • Hvis originaldataene inneholder hull, kan du filtrere ut blanke felter ved å bruke denne løsningen.
      • For å alfabetisk sortere elementer i en rullegardin, pakk formlene inn i SORTERING-funksjonen som forklart i dette eksemplet.

      Hvordan lage flere avhengige rullegardinlister i Excel

      I forrige eksempel laget vi en rullegardinliste avhengig av en annen celle. Men hva om du trenger et hierarki på flere nivåer, det vil si en tredje rullegardin avhengig av den andre listen, eller til og med en fjerde rullegardin avhengig av den tredje listen. Er det mulig? Ja, du kan sette opp et hvilket som helst antall avhengige lister (et rimelig antall, selvfølgelig :).

      For dette eksempelet har vi plassert stater / provinser i kolonne C, og ser nå etter å legge til en tilsvarende rullegardinliste meny i G3:

      For å lage en rullegardinliste for flere avhengige i Excel, er dette hva du må gjøre:

      1. Sett opp den første rullegardinlisten

      Hovedrullegardinlisten opprettes med nøyaktig de samme trinnene som i forrige eksempel (se trinn 1 og 2 ovenfor). Den eneste forskjellen er referansen for utslippsområde du angir i Kilde -boksen.

      Denne gangen er den UNIKE formelen i E8, og hovedrullegardinmenyenlisten kommer til å være i E3. Så du velger E3, klikker Datavalidering og oppgir denne referansen: =$E$8#

      2. Konfigurer den andre rullegardinlisten

      Som du kanskje har lagt merke til, inneholder nå kolonne B flere forekomster av de samme eksportørene. Men du vil bare ha unike navn i rullegardinlisten din, ikke sant? For å utelate alle dupliserte forekomster, pakk UNIQUE-funksjonen rundt FILTER-formelen og skriv inn denne oppdaterte formelen i F8:

      =UNIQUE(FILTER(B3:B15, A3:A15=E3))

      Hvor B3:B15 er kildedataene for den andre rullegardinmenyen , A3:A15 er kildedataene for den første rullegardinmenyen, og E3 er den første rullegardincellen.

      Deretter bruker du følgende referanse for utslippsområde for datavalideringskriteriene: =$F$8#

      3. Sett opp den tredje rullegardinlisten

      For å samle elementene til den tredje rullegardinlisten, bruk FILTER-formelen med flere kriterier. Det første kriteriet sjekker hele fruktlisten mot verdien valgt i 1. rullegardin (A3:A15=E3) mens det andre kriteriet tester listen over eksportører mot utvalget i 2. rullegardin (B3:B15=F3). Den komplette formelen går til G8:

      =FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3))

      Hvis du skal legge til flere avhengige rullegardiner (4., 5., etc.), vil kolonne C sannsynligvis inneholde flere forekomster av det samme punkt. For å forhindre at duplikater kommer inn i forberedelsestabellen, og følgelig i den tredje rullegardinmenyen, kan du legge inn FILTER-formelen iUNIQUE-funksjonen som vi gjorde i forrige trinn:

      =UNIQUE(FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3)))

      Det siste du kan gjøre er å lage en datavalideringsregel til med denne Kilde -referansen: =$G$8#

      Din multipelavhengige rullegardinliste er god å gå!

      Tips. På lignende måte kan du få gjenstander for påfølgende rullegardiner . Forutsatt at kolonne D inneholder kildedata for din fjerde rullegardinliste, kan du skrive inn følgende formel i H8 for å hente de tilsvarende elementene:

      =UNIQUE(FILTER(D3:D15, (A3:A15=E3) * (B3:B15=F3) * (C3:C15=G3)))

      Hvordan lage en utvidbar rullegardinliste i Excel

      Etter at du har opprettet en rullegardin, kan det første du bekymrer deg for være hva som skjer når du legger til nye elementer i kildedataene. Vil rullegardinlisten oppdateres automatisk? Hvis de opprinnelige dataene dine er formatert som Excel-tabell, ja, en dynamisk rullegardinliste omtalt i de forrige eksemplene vil utvides automatisk uten anstrengelser fra din side fordi Excel-tabeller kan utvides av sin natur.

      Hvis for noen grunnen til at bruk av en Excel-tabell ikke er et alternativ, kan du gjøre rullegardinlisten utvidbar på denne måten:

      • For å inkludere nye data automatisk når de legges til kildelisten, legg til noen få ekstra celler til matrisene det refereres til i formlene.
      • For å ekskludere tomme celler , konfigurer formlene til å ignorere tomme celler til de fylles ut.

      Med disse to punktene i bakhodet, la oss finjustere formlenevår dataforberedelsestabell. Datavalideringsreglene krever ingen justeringer i det hele tatt.

      Formel for hovedrullegardin

      Med fruktnavnene i A3:A15 legger vi til 5 ekstra celler i matrisen for å imøtekomme ev. nye oppføringer. I tillegg bygger vi inn FILTER-funksjonen i UNIQUE for å trekke ut unike verdier uten blanke felter.

      Med tanke på ovenstående har formelen i G3 denne formen:

      =UNIQUE(FILTER(A3:A20, A3:A20""))

      Formel for avhengig rullegardin

      Formelen i G3 trenger ikke mye justeringer - bare utvide arrayene med noen flere celler:

      =FILTER(B3:B20, A3:A20=D3)

      Resultatet er et fullt dynamisk utvidbart avhengig fall nedliste:

      Hvordan sortere nedtrekkslisten alfabetisk

      Vil du ordne nedtrekkslisten din alfabetisk uten å bruke kildedataene? Den nye dynamiske Excel har også en spesiell funksjon for dette! I dataforberedelsestabellen, legg ganske enkelt SORT-funksjonen rundt dine eksisterende formler.

      Datavalideringsreglene er konfigurert nøyaktig som beskrevet i de forrige eksemplene.

      For å sortere fra A til Å

      Siden den stigende sorteringsrekkefølgen er standardalternativet, kan du bare neste dine eksisterende formler i matrise -argumentet til SORT, og utelate alle andre argumenter som er valgfrie.

      For hovedrullegardin (formelen i G3):

      =SORT(UNIQUE(FILTER(A3:A20, A3:A20"")))

      For den avhengige rullegardinmenyen (formelen i H3):

      =SORT(FILTER(B3:B20, A3:A20=D3))

      Ferdig! Begge nedtrekkslistene fårsortert alfabetisk A til Å.

      For å sortere fra Å til A

      For å sortere i synkende rekkefølge, må du angi det tredje argumentet ( sort_order ) av SORT-funksjonen til -1.

      For hovedrullegardinmenyen (formelen i G3):

      =SORT(UNIQUE(FILTER(A3:A20, A3:A20"")), 1, -1)

      For den avhengige rullegardinmenyen (formelen i H3):

      =SORT(FILTER(B3:B20, A3:A20=D3), 1, -1)

      Dette vil sortere både dataene i forberedelsestabellen og elementene i rullegardinlistene fra Å til A :

      Slik lager du en dynamisk rullegardinliste i Excel ved hjelp av de nye dynamiske array-funksjonene. I motsetning til de tradisjonelle metodene, fungerer denne tilnærmingen perfekt for enkelt- og flerordsoppføringer og tar seg av eventuelle tomme celler. Takk for at du leste og håper å se deg på bloggen vår neste uke!

      Øvningsarbeidsbok for nedlasting

      Excel-avhengig rullegardinliste (.xlsx-fil)

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.