Indholdsfortegnelse
Vejledningen viser, hvordan du opretter en Excel-rulleliste, der afhænger af en anden celle, ved hjælp af nye dynamiske array-funktioner.
Det er nemt at lave en simpel drop-down-liste i Excel, men det har altid været en udfordring at lave en kaskade-drop-down-liste med flere niveauer. Ovenstående link beskriver fire forskellige fremgangsmåder, der hver især omfatter et vanvittigt antal trin, en masse forskellige formler og en håndfuld begrænsninger i forbindelse med indtastninger med flere ord, tomme celler osv.
Det var den dårlige nyhed. Den gode nyhed er, at disse metoder var udviklet til de før-dynamiske versioner af Excel. Indførelsen af dynamiske arrays i Excel 365 har ændret alt! Med de nye dynamiske array-funktioner er det et spørgsmål om minutter, hvis ikke sekunder, at oprette en drop-down-liste med flere afhængige elementer. Ingen tricks, ingen forbehold, intet vrøvl. Kun hurtige, ligetil og letforståelige løsninger.
Bemærkninger:
- Denne nye måde at lave dropdown-lister på med dynamiske array'er fungerer kun i Excel 365 og Excel 2021. I Excel før den dynamiske version skal du gøre det på den gammeldags måde, som beskrevet i Oprettelse af en afhængig dropdown-liste i Excel 2019 - 2007.
- Denne løsning gælder for en enkelt række. Hvis du ønsker at kopiere dine picklister ned flere rækker , og følg derefter instruktionerne i rullelisten Afhængig for flere rækker.
- Vælg en celle, hvor du vil have rullelisten vist (D3 i vores tilfælde).
- På den Data under fanen, i fanen Dataværktøjer gruppe, klik på Validering af data .
- I den Validering af data dialogboksen, skal du gøre følgende:
- Under Tillad , vælg Liste .
- I den Kilde skal du indtaste referencen til det spill-område, som UNIQUE-formlen giver udslag i. Indtast hashtagget lige efter cellehenvisningen, f.eks. således: =$G$3#
Dette kaldes en reference til et spill-område, og denne syntaks henviser til hele området, uanset hvor meget det udvides eller kontraheres.
- Klik på OK for at lukke dialogboksen.
- For at få den nye poster inkluderet i rullelisten automatisk Du kan også indsætte et par tomme celler i dine formler, som vist i dette eksempel.
- Hvis dine oprindelige data indeholder huller, kan du filtrere tomme felter fra ved at bruge denne løsning.
- Til alfabetisk sortering en dropdowns elementer, skal du indpakke dine formler i funktionen Sortere som forklaret i dette eksempel.
- Til inddrage nye data automatisk, efterhånden som den tilføjes til kildelisten, tilføj et par ekstra celler til de arrays, der henvises til i dine formler.
- Til udelukke tomme celler , konfigurere formlerne til at ignorere tomme celler, indtil de bliver fyldt op.
Sådan laver du en dynamisk drop down-liste i Excel
Dette eksempel viser den generelle fremgangsmåde til oprettelse af en drop-down-liste i Excel ved hjælp af de nye dynamiske array-funktioner.
Lad os antage, at du har en liste over frugter i kolonne A og eksportører i kolonne B. En yderligere komplikation er, at frugtnavnene ikke er grupperet, men spredt ud over kolonnen. Målet er at placere de unikke frugtnavne i den første rullemenu og afhængigt af brugerens valg vise de relevante eksportører i den anden rullemenu.
Du kan oprette en dynamisk afhængig rulleliste i Excel ved at udføre disse trin:
1. Få elementer til den vigtigste drop down-liste
Til at begynde med skal vi udtrække alle de forskellige frugtnavne fra kolonne A. Dette kan gøres ved at bruge UNIQUE-funktionen i sin enkleste form - angiv frugtlisten som første argument ( array ) og udelader de resterende valgfrie argumenter, da deres standardindstillinger fungerer fint for os:
=UNIK(A3:A15)
Formlen går til G3, og efter at du har trykket på Enter-tasten, overføres resultaterne automatisk til de næste celler.
2. Opret den vigtigste drop down
Hvis du vil lave din primære rulleliste, skal du konfigurere en Excel-datavalideringsregel på denne måde:
Din primære rulleliste er færdig!
3. Få elementer til den afhængige rulleliste
For at få posterne til den sekundære dropdownmenu filtrerer vi værdierne i kolonne B ud fra den værdi, der er valgt i den første dropdownmenu. Dette kan gøres ved hjælp af en anden dynamisk arrayfunktion kaldet FILTER:
=FILTER(B3:B15, A3:A15=D3)
Hvor B3:B15 er kildedataene for din afhængige dropdown, A3:A15 er kildedataene for din hoveddropdown, og D3 er hoveddropdowncellen.
For at sikre dig, at formlen fungerer korrekt, kan du vælge en værdi i den første rulleliste og se de resultater, der returneres af FILTER. Perfekt! :)
4. Gør den afhængige drop down
For at oprette den anden rulleliste skal du konfigurere datavalideringskriterierne nøjagtigt som for den første rulleliste i trin 2. Men denne gang skal du henvise til det spildområde, der returneres af FILTER-funktionen: =$H$3#
Så er din Excel-afhængige dropdown-liste klar til brug.
Tips og noter:
Sådan oprettes flere afhængige drop down-lister i Excel
I det foregående eksempel lavede vi en dropdown-liste, der er afhængig af en anden celle. Men hvad nu hvis du har brug for et hierarki på flere niveauer, dvs. en 3. dropdown-liste, der er afhængig af den 2. liste, eller endda en 4. dropdown-liste, der er afhængig af den 3. liste. Er det muligt? Ja, du kan oprette et vilkårligt antal afhængige lister (et rimeligt antal, selvfølgelig :).
I dette eksempel har vi placeret stater/provinser i kolonne C, og vi ønsker nu at tilføje en tilsvarende dropdown-menu i G3:
Du skal gøre følgende for at lave en drop down-liste med flere afhængige filer i Excel:
1. Opsæt den første drop down
Den vigtigste rulleliste oprettes med nøjagtig de samme trin som i det foregående eksempel (se trin 1 og 2 ovenfor). Den eneste forskel er den reference til spildområdet, som du indtaster i Kilde boks.
Denne gang er UNIQUE-formlen i E8, og den vigtigste drop down-liste vil være i E3. Så du vælger E3, klikker på Validering af data , og angiv denne reference: =$E$8#
2. Konfigurer den anden rullemenighed
Som du måske har bemærket, indeholder kolonne B nu flere forekomster af de samme eksportører. Men du vil kun have unikke navne i din rulleliste, ikke? For at udelade alle dubletter skal du pakke UNIQUE-funktionen rundt om din FILTER-formel og indtaste denne opdaterede formel i F8:
=UNIQUE(FILTER(B3:B15, A3:A15=E3))
Hvor B3:B15 er kildedataene for den anden dropdown, A3:A15 er kildedataene for den første dropdown, og E3 er den første dropdown-celle.
Brug derefter følgende reference til spill-intervallet til kriterierne for datavalidering: =$F$8#
3. Opsæt den tredje drop down
For at samle elementerne til den tredje dropdown-liste skal du bruge formlen FILTER med flere kriterier. Det første kriterium kontrollerer hele frugtlisten i forhold til den værdi, der er valgt i den første dropdown-liste (A3:A15=E3), mens det andet kriterium tester listen over eksportører i forhold til valget i den anden dropdown-liste (B3:B15=F3). Den komplette formel går til G8:
=FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3))
Hvis du vil tilføje flere afhængige dropdowns (4., 5. osv.), vil kolonne C højst sandsynligt indeholde flere forekomster af det samme emne. For at forhindre, at dubletterne kommer ind i forberedelsestabellen og dermed i den tredje dropdown, skal du indlejre formlen FILTER i funktionen UNIQUE, som vi gjorde i det foregående trin:
=UNIQUE(FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3)))
Det sidste, du skal gøre, er at oprette endnu en regel til datavalidering med denne Kilde reference: =$G$8#
Din drop-down-liste med flere afhængige personer er klar til brug!
Tip. På samme måde kan du få varer til efterfølgende rullemenuer Hvis vi antager, at kolonne D indeholder kildedataene for din 4. rulleliste, kan du indtaste følgende formel i H8 for at hente de tilsvarende elementer:
=UNIQUE(FILTER(D3:D15, (A3:A15=E3) * (B3:B15=F3) * (C3:C15=G3)))
Sådan laver du en udvidelig drop down-liste i Excel
Når du har oprettet en dropdown-liste, er din første bekymring måske, hvad der sker, når du tilføjer nye elementer til kildedataene. Vil dropdown-listen automatisk blive opdateret? Hvis dine oprindelige data er formateret som Excel-tabeller, så ja, en dynamisk dropdown-liste, som vi har beskrevet i de tidligere eksempler, vil automatisk blive udvidet uden nogen indsats fra din side, fordi Excel-tabeller i sagens natur kan udvides.
Hvis det af en eller anden grund ikke er muligt at bruge en Excel-tabel, kan du gøre din dropdown-liste udvidelig på denne måde:
Lad os med disse to punkter i baghovedet finjustere formlerne i vores datapræparationstabel. Reglerne for datavalidering kræver ingen justeringer overhovedet.
Formel for den vigtigste dropdown
Med frugtnavnene i A3:A15 tilføjer vi 5 ekstra celler til arrayet for at tage højde for eventuelle nye indgange. Desuden indlejrer vi FILTER-funktionen i UNIQUE for at udtrække unikke værdier uden tomme felter.
På baggrund af ovenstående har formlen i G3 følgende form:
=UNIQUE(FILTER(A3:A20, A3:A20"")))
Formel for den afhængige rullemenuen
Formlen i G3 skal ikke justeres meget - du skal blot udvide arraysene med et par celler mere:
=FILTER(B3:B20, A3:A20=D3)
Resultatet er en fuldt dynamisk udvidelig, afhængig drop down-liste:
Sådan sorterer du drop down-listen alfabetisk
Vil du ordne din dropdown-liste alfabetisk uden at skulle bruge kildedataene? Det nye dynamiske Excel har også en særlig funktion til dette formål! I din databehandlingstabel skal du blot pakke SORTER-funktionen rundt om dine eksisterende formler.
Reglerne for datavalidering konfigureres nøjagtigt som beskrevet i de foregående eksempler.
Sådan sorteres fra A til Z
Da den stigende sorteringsrækkefølge er standardindstillingen, kan du blot indlejre dine eksisterende formler i array argumentet i SORT, idet alle andre argumenter, som er valgfrie, udelades.
For den vigtigste dropdown (formlen i G3):
=SORT(UNIQUE(FILTER(A3:A20, A3:A20""))))
For den afhængig dropdown (formlen i H3):
=SORT(FILTER(B3:B20, A3:A20=D3))
Færdig! Begge rullelister bliver sorteret alfabetisk fra A til Z.
Sådan sorteres fra Z til A
Hvis du vil sortere i faldende rækkefølge, skal du indstille det tredje argument ( sort_order ) i SORT-funktionen til -1.
For den vigtigste dropdown (formlen i G3):
=SORT(UNIQUE(FILTER(A3:A20, A3:A20"")), 1, -1)
For den afhængig dropdown (formlen i H3):
=SORT(FILTER(B3:B20, A3:A20=D3), 1, -1)
Dette vil sortere både dataene i forberedelsestabellen og elementerne i rullelisterne fra Z til A:
Sådan kan du oprette dynamiske drop down-lister i Excel ved hjælp af de nye dynamiske array-funktioner. I modsætning til de traditionelle metoder fungerer denne fremgangsmåde perfekt til enkelt- og flerordsposter og tager sig af alle tomme celler. Tak for læsningen og håber at se dig på vores blog i næste uge!
Arbejdsbog til download
Excel-afhængig rulleliste (.xlsx-fil)