Kombiner to lister til én samlet

Nogle gange har jeg flere lister i forskellige kolonner, hvor jeg ønsker alle lister samler under én kolonne. “Kan det lade sig gøre?” spørger du måske. Ja! Kombiner flere lister til en samlet er vejen frem. Jeg guider dig frem til en metode, hvor det hele sker automatisk.

Automatisering er vejen frem, hvis du er træt af manuelt arbejde. Nogle gange ønsker man bare at komme uden om makroprogrammering af to årsager:

  1. Du forstår ikke kodesproget VBA, så skal der rettes i filen, kan du ikke gøre det selv.
  2. En del virksomheder blacklister Excel-filer med aktive makroer (.xlsm) sendt per mail.

Du har to forskellige lister, som du gerne vil have kombineret til én lang liste. Normalt vil man kopiere de to kolonner til én lang, men hvis de to kolonner har et dynamisk indhold, der ændrer indhold hele tiden, kan det være en god idé med en funktion, der laver alt arbejdet for dig. En metode er via makro, men det kan sagtens klares ved hjælp af normale funktioner. Denne artikel forklarer dig hvordan du fixer det med sidstenævnte metode.

Eksempel: Kombiner pige- og drengenavne

I dette tænkte eksempel har jeg en liste med både pige- og drengenavne. Disse to lister ønsker jeg at kombinere til en samlet liste, hvor alle pige- og drengenavne bliver samlet i kolonnen Alle. Du kan downloade filen, som jeg har taget udgangspunkt i: KombinerLister

Kombiner lister

 

Definer navn på kolonner

Både piger og drenge skal defineret via navn (på den måde bliver formlen lettere at gennemskue). Under Formler -> Navnestyring opretter du to nye navne (Piger og Drenge) og skriver:

=FORSKYDNING(Ark1!$B$4;0;0;TÆL.HVIS(Ark1!$B:$B;"?*")-1;1)

hvor Ark1 refererer til arknavnet og B er kolonnen med pigenavnene.

Navnestyring

Det samme gøres med drengenavnene, hvor formlen rettes til.

Det magiske: Arrayformel

Det magiske foregår ved at bruge en arrayformel. En arrayformel er en formel, der anvendes i regneark til at udføre flere beregninger på en serie af elementer i en matrix. Giver det ingen mening, skal du blot huske på, at den tastes med ctrl+shift+enter.

I den første celle i Alle-kolonnen taster du:

=HVIS.FEJL(INDEKS(Piger;RÆKKER(D$3:$D3));HVIS.FEJL(INDEKS(Drenge;RÆKKER(D$3:$D3)-RÆKKER(Piger));""))

Husk at afslutte formlen med at trykke ctrl+shift+enter i stedet for blot enter. På den måde kommer formlen til at være omsluttet af { og }. Derefter kopierer du formlen nedad.

Nu har du en samlet liste uden at skal røre en finger. Smart, ikke?

Tagged with:

Skriv et svar