Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Skapa dynamiska rullgardinsmenyer från tabeller | Dynamiska valideringssystem
Excel Datavalidering och Kontroll

Skapa dynamiska rullgardinsmenyer från tabeller

Svep för att visa menyn

Du har redan lärt dig hur man pekar en rullgardinsmeny mot ett fast intervall, såsom kolumnen Status. Det fungerar, men slutar fungera så snart din lista växer — den nya posten hamnar utanför referensen och visas aldrig i rullgardinsmenyn.

Excel-tabeller löser detta smidigt. När källan till en rullgardinsmeny är en kolumn i en Excel-tabell utökas referensen automatiskt när du lägger till rader.

Skapa ett referensblad

Innan du skapar någon tabell är det god praxis att hålla dina listdata på ett dedikerat blad — separat från huvudområdet för datainmatning. Detta håller arbetsboken ren och gör listorna enkla att hantera.

Steg 1 — Skapa ett nytt blad:

  1. Klicka helt enkelt på +-ikonen bredvid den sista fliken;
  2. Dubbelklicka på den nya fliken och döp om den till Lists.

Steg 2 — Lägg till din första lista:

  1. Klicka på cell A1 och skriv en rubrik — t.ex. Status;
  2. Ange varje värde i raderna nedanför, ett per cell:
    • A2: Open
    • A3: Closed
    • A4: Pending
  3. Håll kolumnen ren — inga tomma rader, inga extra mellanslag, inga sammanslagna celler.

Steg 3 — Konvertera ett område till en Excel-tabell:

Innan du kopplar en rullgardinsmeny till en tabell måste din listdata vara formaterad som en sådan:

  1. Klicka någonstans i ditt listområde;
  2. Tryck på Ctrl + T (Win) eller cmd + T (Mac);
  3. Bekräfta området och markera Min tabell har rubriker;
  4. Klicka på OK.

Excel tilldelar tabellen ett standardnamn som Table1. Byt namn till något beskrivande — t.ex. Statuses — via fliken Tabellformat.

Referens till en tabellkolumn i validering

Du kan inte skriva en strukturerad referens som =Statuses[Status] direkt i källfältet för datavalidering — Excel accepterar inte det där. En smidig lösning är att använda funktionen INDIRECT, som omvandlar en textsträng till en giltig områdesreferens.

Steg för steg:

  1. Markera cellerna i kolumnen Status i din huvudtabell;
  2. Öppna Datavalidering → Inställningar → Lista;
  3. I Källa, skriv: =INDIRECT("Statuses");
  4. Klicka på OK.

Nu när ett nytt värde läggs till i Statuses, uppdateras rullgardinsmenyn direkt — ingen Namnhanterare behövs.

Note
Notering

INDIRECT är en volatil funktion, vilket innebär att Excel beräknar om den varje gång arbetsboken beräknas om. För en liten referenslista som denna är det inget problem. Men i mycket stora arbetsböcker med många validerade celler kan det göra att det går långsammare — i sådana fall är det bättre att använda Namngivet område. Du får lära dig mer om denna avvägning i nästa kapitel.

Uppgift

Fil: fortsätt arbeta med samma fil som i föregående avsnitt.

  1. Gå till bladet Lists och lägg till ett nytt värde under Pending i tabellen Statuses:
    • A5: Cancelled
  2. Gå tillbaka till huvudsidan och klicka på rullgardinsmenyn i valfri Status-cell.
  3. Kontrollera att Cancelled nu visas i listan tillsammans med Open, Closed och Pending.

Detta bekräftar att INDIRECT-referensen är aktiv — rullgardinsmenyn uppdaterades utan några ändringar i valideringsregeln.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 2. Kapitel 1
some-alt