Opslag til højre, venstre og i midten

Funktionen LOPSLAG() giver mulighed for at finde en værdi, der står i en kolonne til højre for opslagskolonnen.

  A B C
1 Niels 1 Ged
2 Ole 2 Får
3 Anders 3 Ko
4 Børge 4 Hest
5 Viggo 5 Gris

 I op stillingen ovenfor kan vi finde ud af, hvad nummer Niels blev på dyrskuet med følgende formel
=LOPSLAG(D1;A1:C5;2;FALSK), hvor D1 er den celle, hvor vi indtaster navnet på den person, vi vil vide noget om. Niels i D1 giver således et 1-tal. Vil vi vide hvilket dyr Niels havde med på skuet, ændrer vi bare formlen til
=LOPSLAG(D1;A1:C5;3;FALSK) - altså retter kolonnenummeret, og vi får så at vide at Niels deltog med en ged. Skal formlen være mere fleksibel, kan den ændres til =LOPSLAG(D1;A1:C5;D2;FALSK), så kan vi i D2 indtaste nummeret på den kolonne, vi vil vide noget om.

Men hvad nu hvis opstillingen ser sådan ud?

  A B C
1 Ged 1 Niels
2 Får 2 Ole
3 Ko 3 Anders
4 Hest 4 Børge
5 Gris 5 Viggo

Så kan vi ikke bruge LOPSLAG, da den altid leder efter kolonner til højre for opslagskolonnen. I stedet kan vi kombinere to forskellige funktioner, nemlig SAMMENLIGN(), der finder en værdi i en matrix, og returnerer rækken den fundne værdi står i og INDEKS(), der returnerer indholdet af en celle på baggrund af et række- og kolonnenummer. I ovenstående tilfælde kan vi starte med SAMMENLIGN(). Formlen SAMMENLIGN(D1;C1:C5;0) vil returnere det rækkenummer i matrixen (ikke i arket), som den værdi, vi indtaster i D1 står i. Skriver vi Niels, vil der således blive returneret et 1-tal. Dette 1-tal kan vi nu bruge i INDEKS-fuktionen: =INDEKS(A1:C5;1;1). Først vises hele matrixen, dernæst det rækkenummer, vi har fundet ved hjælp af SAMMENLIGN() og til sidst det kolonnenummer, der indeholder den information, vi søger. "Parrer vi nu funktionerne, får vi

=INDEKS(A1:C5;SAMMENLIGN(D1;C1:C5;0);D2),

hvor vi i D1 indtaster navnet på den person, vi er interesserede i, og i D2 indtaster vi nummeret på den kolonne i matrixen, der indeholder den ønskede information.

Opslag i en matrix

Alle de ovenstående metoder, bruges til at lave opslag i en kolonne, når kolonnen noget skal findes i er kendt og kun rækken er ukendt. Men de kan ikke bruges, hvis vi skal finde noget, som vi bare ved står et eller andet sted i en matrix, men ikke hvor.

Forestil dig følgende matrix.

  A B C D
1 Anders Anna Frank Frida
2 Bjarne Birthe Georg Grethe
3 Carsten Christina Hans Helle
4 Dennis Dorte Ivan Inge
5 Erik Else Jens Jill

Vi får nu til opgave agt finde den person, der står til venstre for Ivan, samt der person, der  står til højre for Birthe. Det kan gøres med denne formel:

=FORSKYDNING(INDIREKTE(ADRESSE(SUMPRODUKT((A1:D5=F1)*(RÆKKE(A1:D5)));SUMPRODUKT((A1:D5=F1)*(KOLONNE(Ark1!A1:D5)))));F2;F3)

Som udgangspunkt finder den, det vi specificerer i F1. Skriver vi fx i F1 Ivan, vil den returnere Ivan. I F2, kan vi så specificere hvor mange rækker under (+) eller over (-1), vi skal finde den værdi, vi skal returnere. Og på tilsvarende måde kan vi i F3 specificere den kolonne, der returneres fra. Ivan i F!, 0 i F2 og -1 i F3 vil således finde personen til venstre for Ivan - altså Dorte. Birthe i F1, 0 i F2 og 1 i F3 vil finde personen til højre for for Birthe, altså Georg.

Vi kan fortsætte på samme måde med at finde personer, over, under og i alle mulige relationer i forhold til den fundne celle. Hvis det vi leder efter, står i den yderste højre kolonne, og vi beder om at få returneret noget fra kolonnen til højre for (tom), returneres et 0. Det samme gør sig gældende, hvis vi prøver at returnere noget under den nederste række. Prøver vi at returnere noget, der står til venstre for kolonnen længst til venstre eller over den øverste kolonne, sker det samme, med mindre det, vi ønsker returneret står helt uden for regnearket. I så fald returneres fejlen #REFERENCE!. Hvis det, vi leder efter, ikke findes i Matrixen, returneres fejlen #VÆRDI!

- Til Top -

- Retur til Excel -