Excel-funktionerne INDEKS og SAMMENLIGN forklaret på 5 minutter
Kender du LOPSLAG (på engelsk: VLOOKUP)?
Sammensætningen af funktionerne INDEKS og SAMMENLIGN udgør LOPSLAGs storebror.
Sammen leder de efter en søgeværdi og returnerer en anden værdi i den række hvor de finder søgeværdien.
Præcis ligesom VLOOKUP…
Men der er en masse fordele ved at bruge INDEKS og SAMMENLIGN i stedet.
Om 5 minutter har du 100% styr på hvordan du slår op med INDEKS og SAMMENLIGN (+ alle fordelene!).
Det lærer du!
Video om INDEKS SAMMENLIGN
Se min video hvor du lærer INDEKS SAMMENLIGN på bare 4 minutter.
Foretrækker du at læse fremfor at se?
Så fortsæt herunder!
Hvorfor INDEKS + SAMMENLIGN
er bedre end LOPSLAG
En formel med INDEKS SAMMENLIGN (på engelsk: INDEX MATCH) har disse fordele over LOPSLAG:
- Den udregnes hurtigere (kan være afgørende hvis du har mere end 100.000 formler)
- Den kan returnere en værdi til venstre for den fundne søgeværdi (det kan LOPSLAG ikke)
- Du kan bruge de samme funktioner til at lave et vandret opslag, som erstatter VOPSLAG
- Fordi du ikke bruger en ‘tabelmatrix’ (opslagsområde + returområde) er den bedre sikret mod strukturelle ændringer, som indsættelse/fjernelse af kolonner
Hvornår du skal bruge LOPSLAG og INDEKS SAMMENLIGN
Den eneste fordel LOPSLAG har over INDEKS SAMMENLIGN er, at den er nemmere at lære og huske
Det er derfor generelt altid bedre (men ikke lettere) at bruge INDEKS SAMMENLIGN.
Hvis du ikke vil gå 100% over til kun at bruge INDEKS SAMMENLIGN, så brug den i hvert fald når:
- Du skal bruge mere end 100.000 opslag
- Den værdi du vil returnere ligger til venstre for søgeværdien
Opsummering af LOPSLAG
INDEKS SAMMENLIGN fungerer i store træk ligesom LOPSLAG.
Derfor tager vi lige en kort opsummering af hvordan du bruger LOPSLAG.
LOPSLAG søger efter en søgeværdi i et område, og returnerer en værdi i samme række (til højre for søgeværdien) i det område.
Du indtaster den sådan her (med Excels termer):
=LOPSLAG(opslagsværdi; tabelmatrix; kolonneindeks_nr; [intervalopslag])
Og her har jeg oversat hvad termerne betyder
opslagsværdi = dette er den værdi du søger efter. Brug en cellereference, f.eks. F2.
tabelmatrix = dette er området du søger i + området du vil returnere fra. Hvis du vil søge i kolonne A og returnere fra kolonne B, så bruger du området A:B.
kolonneindeks_nr = her angiver du et tal der fortæller Excel hvilken kolonne du vil returnere fra, i tabelmatrixen. I området A:B er kolonne B = 2.
intervalopslag = skriv FALSK hvis du søger præcist efter din opslagsværdi. Skriv SAND hvis det er “cirka”. FALSK bruges 99% af tiden.
I dette eksempel vil jeg kunne søge efter et ordrenummer i F2 og få sælgerens initialer vist i celle G2.
Formlen til det ser sådan her ud:
=LOPSLAG(F2; A:B; 2; FALSK)
Sådan! Nu er du vist klar til INDEKS SAMMENLIGN!
Hvis du vil have lidt bedre styr på LOPSLAG inden du går videre, så læs min LOPSLAG guide her.
Sådan bruger du INDEKS
INDEKS funktionen er første del af INDEKS SAMMENLIGN.
I sig selv er det dog ikke en opslagsfunktion. Den gør følgende:
Du fodrer INDEKS med en celles “adresse”, og så tager INDEKS et smut forbi cellen og kidnapper hvad der står i den.
Når du indtaster =INDEKS i en celle, kan du se der er 2 udgaver. I denne guide bruger jeg den øverste version.
Elementerne i INDEKS funktionen (også kaldet syntaksen) ser sådan her ud:
=INDEKS(matrix; række; [kolonne])
Men hvad betyder elementerne?
Forklaring
matrix = Den kolonne (til tider også ‘række’) du vil returnere noget fra
række = Det rækkenummer du vil kigge i
kolonne = Det kolonnenummer du vil kigge i
Kolonne-argumentet udelades typisk, og det gør vi også her.
Det vil sige, at hvis jeg vil returnere sælgeren fra ordrenummer 8525, så skriver jeg:
=INDEKS(B:B; 5)
Ordrenummeret 8525 er nemlig placeret i celle A5. Altså i række 5.
Så først angives kolonnen jeg vil returnere værdier fra:
=INDEKS(B:B;
Dernæst angiver jeg hvilken række der skal returneres fra:
=INDEKS(B:B; 5)
Så langt så godt!
Men i sig selv er det jo ikke så smart…
I dette eksempel kunne funktionen kun returnere en brugbar værdi fordi jeg selv vidste at ordrenummer 8525 var i række 5.
Derfor kan INDEKS funktionen sjældent stå alene (og det skal den heller ikke nu )
Sådan bruger du SAMMENLIGN
SAMMENLIGN funktionen er anden del af INDEKS SAMMENLIGN.
I modsætning til INDEKS så gør den følgende:
SAMMENLIGN søger efter en opslagsværdi i en kolonne (eller række) og fortæller dig hvor værdien er placeret.
Det vil sige, at du finder cellens adresse!
Er der et sted vi kan bruge en celles adresse til noget? (hint: INDEKS…)
Elementerne i SAMMENLIGN funktionen (også kaldet syntaksen) ser sådan her ud:
=SAMMENLIGN(opslagsværdi; opslagsmatrix; sammenligningstype)
Har du brug for at vide hvad elementerne betyder?
Forklaring
opslagsværdi = Det du søger efter. Typisk en reference til en anden celle, fx F2.
opslagsmatrix = Hvor du søger henne. Brug en reference til en enkelt kolonne, fx A:A.
sammenligningstype = Søger du præcist (0), større end (-1) eller mindre end (1)? I næsten alle tilfældes søges der præcist.
Det vil sige, at hvis jeg vil finde ud af hvilken række ordrenummer 8525 er i, så skriver jeg:
=SAMMENLIGN(F2; A:A; 0)
Som du kan se søges der her efter hvad der står i F2 (8525) i hele kolonne A.
SAMMENLIGN funktionen returnerer 5, som fortæller mig at tallet 8525 findes i række 5 i kolonne A.
Nu har vi fået en celles adresse!
Men vi skal have returneret en værdi ved siden af den fundne opslagsværdi (8525)…
Kan du nu se synergien mellem INDEKS og SAMMENLIGN?
INDEKS og SAMMENLIGN
Kort fortalt:
SAMMENLIGN søger efter en værdi og returnerer et rækkenummer.
INDEKS bruger rækkenummeret til at returnere en værdi i den række, fra en anden kolonne.
Når du bruger INDEKS og SAMMENLIGN starter du med at bruge INDEKS funktionen.
=INDEKS(B:B; …)
Hvor det første argument B:B er den kolonne du vil returnere en værdi fra.
Det andet argument vil normalt være hvilken række du vil returnere værdien fra, i den kolonne du har angivet i det første argument (her er det kolonne B).
Men i stedet for at skrive rækken ind her, så lader vi SAMMENLIGN funktionen finde rækken for os…
=INDEKS(B:B; SAMMENLIGN(F2; A:A; 0))
Her søger SAMMENLIGN altså efter ordre 8525 (som står i celle F2), og finder ud af at 8525 er placeret i række 5 i kolonne A.
INDEKS bruger 5 tallet til at bestemme hvilken celle i kolonne A den skal hente (og vise) værdien fra.
Og hermed har du lavet en samlet opslagsformel!
Smart, ikke?
Hvorfor er det smartere end LOPSLAG?
Jeg har tidligere fortalt dig hvorfor INDEKS og SAMMENLIGN er bedre end LOPSLAG, men jeg vil lige uddybe en af de vigtigste forskelle.
Kan du huske jeg fortalte at INDEKS SAMMENLIGN kan returnere værdier fra en kolonne der ligger til venstre for kolonnen der søges i?
Jeg har nu byttet om på kolonnen med ‘Sælger’ og ‘Ordre’ i datasættet!
Der er 2 rigtig vigtige ting du skal lægge mærke til:
Vigtig ting #1
Jeg byttede om på kolonner ved at klippe kolonne A hen til højre for kolonne B… Formlen har overlevet denne strukturændring, uden at miste referencen til en kolonne (og dermed komme med #REFERENCE! fejlen).
Sådan en strukturændring ville en LOPSLAG aldrig have overlevet…
Vigtig ting #2
Før søgte vi efter et tal i kolonne A (med SAMMENLIGN) og returnerede en værdi fra kolonne B (med INDEKS).
NU ER DET OMVENDT!
Nu returnerer vi en værdi der ligger til venstre for den kolonne vi søger i
Og det er smukt!
Hvis du ikke synes at det er fuldstændig vanvittigt at dette kan lade sig gøre, så bare vent til du får prøvet det i dine egne Excel-ark og tænker: “Hov… det kunne jeg da vist ikke have gjort med LOPSLAG…!”).
Opslag med flere kriterier
Du tror næsten det er løgn, men INDEKS SAMMENLIGN kan faktisk endnu mere end det jeg har vist dig her.
Du kan for eksempel søge efter flere kriterier i et opslag
Sådan!
Hold da op… Jeg er helt overvældet af at skrive om INDEKS og SAMMENLIGN – så begejstret er jeg.
Jeg kan huske da jeg lærte at bruge dem for mange år siden. Mit Excel-liv blev aldrig helt det samme igen ❤️
Nu har du lært hvordan du bruger INDEKS og SAMMENLIGN, der til sammen udgør den mægtigste opslagsformel der findes!
Du har lært, at SAMMENLIGN søger efter en opslagsværdi, i en kolonne, og returnerer hvilken række værdien findes i.
Du har lært at INDEKS bruger dette rækkenummer til at returnerer en værdi fra samme række i en anden kolonne.
Til sammen ser deres syntaks nogenlunde sådan her ud:
=INDEKS(B:B; SAMMENLIGN(F2; A:A; 0))
Derudover har du lært hvordan LOPSLAG kommer til kort i forhold til INDEKS SAMMENLIGN.
Sejt, ikke?