När du söker efter "excel rullgardinsmenyn flera kolumner” på Google kan du behöva utföra någon av följande uppgifter:
I den här handledningen kommer vi att demonstrera steg-för-steg hur man uppnår dessa tre uppgifter.
Som visas i GIF-bilden nedan vill du skapa en huvudrullgardinslista för kontinenterna, en sekundär rullgardinslista som innehåller länder baserat på den kontinent som valts i huvudrullgardinsmenyn, och sedan den tredje rullgardinsmenyn lista som innehåller städer baserat på det land som valts i den sekundära rullgardinsmenyn. Metoden i det här avsnittet kan hjälpa dig att uppnå denna uppgift.
1. Välj cellerna (här väljer jag G9:G13) där du vill infoga rullgardinsmenyn, gå till Data fliken, klicka Datagransknings > Datagransknings.
2. I Datagransknings dialogrutan, konfigurera så här.
1. Välj hela intervallet som innehåller objekten du vill visa i den sekundära rullgardinsmenyn. Gå till Formler fliken och klicka sedan på Skapa från urval.
2. I Skapa namn från urvalet dialogrutan, kolla bara i Översta raden rutan och klicka sedan på OK knapp.
3. Välj en cell där du vill infoga den sekundära rullgardinsmenyn, gå till Data fliken, klicka Datagransknings > Datagransknings.
4. I Datagransknings dialogrutan måste du:
=INDIRECT(SUBSTITUTE(G9," ","_"))
5. Välj den här rullgardinslistan, dra dess Autofyllhandtag ned för att tillämpa den på andra celler i samma kolumn.
Den sekundära rullgardinsmenyn är nu klar. När du väljer en kontinent i huvudrullgardinslistan visas endast länderna under denna kontinent i den sekundära rullgardinsmenyn.
1. Välj hela intervallet som innehåller de värden du vill visa i den tredje rullgardinsmenyn. Gå till Formler fliken och klicka sedan på Skapa från urval.
2. I Skapa namn från urvalet dialogrutan, kolla bara i Översta raden rutan och klicka sedan på OK knapp.
3. Välj en cell där du vill infoga den tredje rullgardinsmenyn, gå till Data fliken, klicka Datagransknings > Datagransknings.
4. I Datagransknings dialogrutan måste du:
=INDIRECT(SUBSTITUTE(H9," ","_"))
5. Välj den här rullgardinslistan, dra dess Autofyllhandtag ned för att tillämpa den på andra celler i samma kolumn.
Den tredje rullgardinsmenyn med städer är nu klar. När du väljer ett land i den sekundära rullgardinsmenyn visas endast städerna under detta land i den tredje rullgardinsmenyn.
Ovanstående metod kan vara besvärlig för vissa användare, om du vill ha en mer effektiv och okomplicerad lösning kan följande metod uppnås med bara några klick.
GIF-bilden nedan visar stegen i Dynamisk listruta egenskap av Kutools for Excel.
Som du kan se kan hela operationen göras med bara några klick. Du behöver bara:
GIF-bilden ovan visar bara stegen för att skapa en rullgardinslista på två nivåer. Om du vill skapa en rullgardinslista med fler än 2 nivåer, klicka här för att veta mer . Eller ladda ner den 30-dagars gratis provperioden.
Det här avsnittet innehåller två metoder som hjälper dig att göra flera val i en rullgardinslista i Excel.
Följande VBA-skript kan hjälpa till att göra flera val i en rullgardinslista i Excel utan dubbletter. Vänligen gör enligt följande.
1. Gå till arkfliken, högerklicka på den och välj Visa kod från högerklickmenyn.
2. Sedan Microsoft Visual Basic för applikationer fönstret dyker upp, måste du kopiera följande VBA-kod i Blad (kod) redaktör.
VBA-kod: Tillåt flera val i en rullgardinslista utan dubbletter
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
När du har klistrat in koden, tryck på andra + Q för att stänga Visual Editor och gå tillbaka till arbetsbladet.
tips: Den här koden fungerar för alla rullgardinslistor i det aktuella kalkylbladet. Klicka bara på en cell som innehåller rullgardinslistan, välj objekt en efter en från rullgardinsmenyn för att testa om det fungerar.
Anmärkningar: Om du vill tillåta flera val i en rullgardinslista och ta bort befintliga objekt när du väljer det från rullgardinsmenyn igen, kan du också använda en VBA-kod för att uppnå: Klicka här för att följa handledningen steg-för-steg
VBA-koden har många begränsningar. Om du inte är bekant med VBA-skript är det svårt att ändra koden för att möta dina behov. Ändra till exempel arbetsomfånget eller objektseparatorn. Här är en rekommenderad kraftfull funktion - Rullgardinslista för flera val som kan hjälpa dig att hantera denna uppgift enkelt. Du kan enkelt ange ett omfång för att utföra funktionen och ändra separatorn till vilken du vill.
Som du kan se i ovanstående GIF-bild kan hela operationen göras med bara några klick. Anta att du redan har infogat rullgardinsmenyn för datavalidering i ditt kalkylblad, nu behöver du bara:
Tips: När du har avslutat installationen, när du klickar på cellen som innehåller rullgardinsmenyn, visas en lista med "+"Och"-"-skyltar kommer att visas på höger sida. Klicka bara på "+" tecken för att lägga till motsvarande objekt i cellen och klicka på "-" tecken för att ta bort det från cellen.
Klicka här för att veta mer om den här funktionen, eller ladda ner den 30-dagars gratis provperioden.
Som visas i skärmdumpen nedan kommer det här avsnittet att visa dig hur du visar flera kolumner i en rullgardinslista.
Som standard visar en rullgardinsmeny för datavalidering endast en kolumn med objekt. För att visa flera kolumner i en rullgardinslista rekommenderar vi att du använder en kombinationsruta (ActiveX Control) istället för en rullgardinsmeny för datavalidering.
1. Gå till Utvecklare fliken, klicka Insert > Kombinationsbox (ActiveX Control).
Tips: Om Utvecklare fliken visas inte i menyfliksområdet, du kan följa stegen i denna handledning "Visa fliken Utvecklare" för att visa det.
2. Rita sedan en Kombinationsrutan i en cell där du vill visa rullgardinsmenyn.
1. Högerklicka på kombinationsrutan och välj sedan Fastigheter från snabbmenyn.
2. I Fastigheter dialogrutan, konfigurera så här.
1. Under Utvecklare fliken, stäng av Designläge genom att bara klicka på Designläge ikonen.
2. Klicka på pilen i kombinationsrutan, listan utökas och du kan se det angivna antalet kolumner som visas i rullgardinsmenyn.
Notera: Som du kan se i ovanstående GIF-bild, även om flera kolumner visas i rullgardinsmenyn, visas bara det första objektet i den valda raden i cellen. Om du vill visa objekt från andra kolumner, fortsätt och tillämpa följande formler.
tips: För att returnera exakt samma formatdata från andra kolumner måste du ändra formatet på resultatcellerna före eller efter följande operationer. I det här exemplet ändrar jag formatet på cellen C11 till Datum formatera och ändra formatet på cellen C14 till Valuta format i förväg.
1. Välj en cell under kombinationsrutan, ange formeln nedan och tryck på ange för att få värdet för den andra kolumnen i samma rad.
=IFERROR(VLOOKUP(B1,B3:F6,2,FALSE),””)
2. För att få värdena för den tredje, fjärde och femte kolumnen, använd följande formler en efter en.
=IFERROR(VLOOKUP(B1,B3:F6,3,FALSE),””)
=IFERROR(VLOOKUP(B1,B3:F6,4,FALSE),””)
=IFERROR(VLOOKUP(B1,B3:F6,5,FALSE),””)
Anmärkningar:
Ta den första formeln =FEL(FELSLÖK(B1,B3:F6,2,FALSK),"") som ett exempel,
Autoslutför när du skriver i Excel-rullgardinsmenyn
Om du har en rullgardinsmeny för datavalidering med stora värden måste du bläddra nedåt i listan bara för att hitta rätt eller skriva hela ordet direkt i listrutan. Om det finns en metod för att automatiskt slutföra när du skriver den första bokstaven i rullgardinsmenyn blir allt enklare. Denna handledning ger metoden för att lösa problemet.
Skapa rullgardinslista från en annan arbetsbok i Excel
Det är ganska enkelt att skapa en rullgardinslista för datavalidering bland kalkylblad i en arbetsbok. Men om listdata du behöver för datavalideringen hittar du i en annan arbetsbok, vad skulle du göra? I den här guiden lär du dig hur du skapar en drop-down-lista från en annan arbetsbok i Excel i detalj.
Skapa en sökbar rullgardinslista i Excel
För en rullgardinsmeny med många värden är det inte lätt att hitta en riktig. Tidigare har vi introducerat en metod för automatisk komplettering av rullgardinsmenyn när du anger den första bokstaven i rullgardinsmenyn. Förutom funktionen för autoslutförande kan du också göra listrutan sökbar för att förbättra arbetseffektiviteten för att hitta rätt värden i listrutan. För att göra rullgardinsmenyn sökbar, prova metoden i den här självstudien.
Fyll i andra celler automatiskt när du väljer värden i Excel-listrutan
Låt oss säga att du har skapat en rullgardinslista baserat på värdena i cellområdet B8: B14. När du väljer något värde i listrutan vill du att motsvarande värden i cellintervall C8: C14 fylls automatiskt i en vald cell. För att lösa problemet kommer metoderna i denna handledning att göra dig en tjänst.