| |
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 -
|