Excelskolen 4 – Brug VLookup til at hente data fra andet ark

 
I dette afsnit af Excelskolen skal vi se på hvordan man henter data fra et andet ark i det samme regneark – og specielt hvordan man kan bruge VLookup til at gøre det. VLookup er en funktion der også på dansk hedder LOpslag.
Hvis du ikke har læst de tidligere udgaver af denne excelskole, kan du læse afsnit 1, afsnit 2 og afsnit 3 her. 

Hent data fra et andet ark

Vi har jo tidligere set hvordan man med en formel kan hente data fra et andet felt ved at taste feltets navn, f.eks. D3. På den måde kan man f.eks. i et felt vise resultatet af summen af D3 og D4 ved at taste koden “=D3+D4”.
Men hvad hvis man har disse data i et andet ark? Ja, så skriver man blot arkets navn og et “!” tegn bagefter. Hvis man f.eks. vil hente data fra A5 i Ark2 skriver man koden “=Ark2!A5”. Hvis man vil lægge A5 og A6 i Ark2 sammen og vise resultatet skriver man “=Ark2!A5+A6”. Så du skriver den samme formular, blot med arkets navn og “!” bagefter.

Vis liste med data fra andet ark i en dropdownbox

Når man udfylder data i et ark, kan det være anvendeligt at kunne vælge en værdi af data fra et andet ark i en celle. For at illustrere hvordan man gør dette, tænker jeg det ville være godt at konstruere et eksempel.
Lad os sige at vi vil lave en liste over varer vi har solgt i et regneark. Vi laver derfor nu et regneark med to ark – et kaldet “Salg” og et kaldet “Varer” (omdøb arkene ved at højreklikke og vælge omdøb).
I arket “Salg” vil vi vælge kolonnerne varenummer, varenavn, antal, enhedspris og pris. I arket “Varer” vil vi skrive kolonnerne varenummer, varenavn og enhedspris.
Nu kunne man vælge at skrive felterne varenummer, varenavn og enhedspris for hver eneste salg – men i stedet ville det da være smartere hvis man blot kunne vælge et varenummer og så ville Excel selv hente resten af oplysningerne fra det andet ark.
Lige nu kigger vi lige på, hvordan man laver en dropdownboks der lader en vælge mellem varenumre fra det andet ark. Til dette eksperiment har jeg netop udfyldt de ovennævnte kolonner og så fyldt noget demodata ind på arket varer.
Så arket “Salg” ser altså således ud:
Excel4a
Og arket “Varer” ser således ud:
xcel4b
Nu vil vi altså lave en dropdownbox i A2 som henter varenumre fra arket “Varer”. Vi markerer derfor A2 og vælger fanen “Data”. Her vælger vi knappen “Valider” og under Tillad vælger vi “Liste”. Så klikker vi på knappen til højre for feltet “Kilde”. Nu går vi så til arket “Varer” og markerer alle varenumre og klikker igen på knappen til højre for feltet. Så er intervallet der indeholder varenumre blevet valgt og det ser således ud:
Excel4c
Så klikker vi OK, hvorefter der nu er kommet en dropdownboks der henter disse data. Klik på den lille firkant i nedre højre del af cellen og træk den for at kopiere dropdownboksen ned til felterne nedenunder.

Brug VLookup (LOpslag) til at filtrere data der hentes fra

Nogle gange vil du gerne vise data fra en celle der er i samme række hvor noget bestemt data matcher. Altså vise noget fra en celle udfra en filtrering af rækker. Her kan man med fordel bruge funktionen VLookup der på dansk hedder LOpslag til at filtrere rækker og hente data. Vi skal kort her se lidt på hvad funktionen gør og hvordan man bruger den til at filtrere data fra et andet ark og vise dette. 
LOpslag funktionen ser således ud:
=LOpslag(opslagsværdi;tabelmatrix;kolonneindex,områdeopslag)
Det er altså en funktion der har fire argumenter, hvoraf “områdeopslag” er frivilligt.

  • Opslagsværdi angiver i hvilken celle hvor søgeordet der skal søges efter findes.
  • Tabelmatrix angiver det område der skal søges i.
  • Kolonneindex angiver det kolonnenr. i området som der søges i, der skal vises.
  • Hvis områdeopslag er sat til “falsk” (false) vil der søges efter et exact match. Findes der to exacte matches, vil det første blive returneret. Findes der ikke er match vil “N/A” blive returneret.
  • Hvis områdeopslag er sat til “sandt” (true) vil der søges efter enten et exact match eller den nærmeste værdi. Hvis der ikke findes et exact match vil den nærmest værdi der er under det der søges efter blive returneret.

I langt de fleste tilfælde vil du skrive “falsk” under områdeopslag, så du leder efter et exact match.

Hent data fra andet ark med LOpslag

Hvis du vil hente noget fra et andet ark via LOpslag, skal du naturligvis blot skrive arkets navn og “!” før cellerne i “tabelmatrix”.
Nu vil vi så udvide vores eksempel, så når man har valgt et varenummer, så henter den varenavn og enhedspris fra det andet ark. Her kan vi netop anvende LOpslag.
I feltet B2 i arket “Salg” skriver vi derfor formlen:
=LOPSLAG(A2;Varer!A:C;2;FALSK)
Her henter den altså varenummeret i A2 og søger efter dette i området fra kolonne A-C i arket Varer. Hvis den finder et match viser den værdien fra kolonne 2 i dette område (dvs. kolonne B som er varenavn). Og falsk angiver at der skal være et exact match.
Denne formel kan vi så også kopiere ned til flere felter. Her ser man så at der i de andre felter skrives N/A (eller #I/T) fordi der ikke endnu er angivet et varenummer i kolonnen A. Den korrekte værdi vil så blive vist så snart man vælger et varenummer.
Excel4d
For at forhindre dette kan vi lave formlen, så den kun anvender LOpslag formlen hvis varenummer er udfyldt. Den generelle kode for en sådan HVIS-sætning er:
=HVIS(betingelse;hvis sand;hvis falsk)
Altså man angiver først betingelsen, så resultatet hvis sandt og så resultatet hvis falsk. Man kunne altså lave ovenstående formel om til:
=HVIS(A2<>””;LOPSLAG(A2;Varer!A:C;2;FALSK);””)
Denne siger altså at hvis A2 ikke er tom (der er valgt varenummer), så skal LOpslag formlen aktiveres – ellers skal feltet være tomt.
I kolonnen enhedspris kan man ligeledes hente enhedsprisen fra arket “Varer” ved at skrive formlen:
=HVIS(A2<>””;LOPSLAG(A2;Varer!A:C;3;FALSK);””)
Kolonnen “Antal” udfylder man selvfølgelig selv i dette regneark. Når alt er udfyldt beregnes så en totalpris ved at skrive:
=C2*D2

Hvad nu?

Hvis du har lyst til at se det resulterende regneark, kan du downloade det her.
Har du nogle spørgsmål er du velkommen til at skrive dem i en kommentar.

0 0 votes
Article Rating

Andreas Andersen

Forfatter og grundlægger af IT-blogger.dk, der har blogget om IT-emner siden 2012. Findes på Mastodon på @aphandersen@ansico.dk

You may also like...

Abonner
Giv besked ved
guest

7 Comments
mest stemt på
nyeste ældste
Inline Feedbacks
View all comments
Anders Jensen siger:

Hej Andreas
Hvad nu hvis jeg ønsker at lave LOpslag over flere ark?
Jeg har et ark med medarbejdernavn og nummer “Oversigt over medarbejdere” og 2 ark med testresultater “test 1” og “Test2”.
En medarbejder har gennemgået enten test 1 eller 2 og jeg vil gerne have dette resultat præsneteret i det første ark “Oversigt over medarbejdere”
Kan dette lade sig gøre (Office 2013)

Jeg ville nok anvende noget lignende:
=HVISIT(LOPSLAG(A2;Test1!A1:B13;2;FALSK);LOPSLAG(A2;Test2!A1:B13;2;FALSK))
Denne kigger først i test1 om medarbejderen findes her. Findes medarbejderen vises testresultatet. Findes medarbejderen ikke kigges om medarbejderen findes i test2. Findes medarbejderen her vises testresultatet fra test2.
Du skal så bare tage stilling til hvad der skal ske hvis der både eksisterer et testresultat fra test1 og fra test2.
Du kan downloade et eksempel på excelfilen her.

Lotte Valbjørn siger:

Hej Andreas
Jeg har et Excelark med alle vores kunder med info om navn, adresse mv. Disse oplysninger vil jeg gerne kunne benytte på vores dagsedler/følgesedler. Altså data i et regneark, som skal bruges i et andet regneark. Kan det lade sig gøre. Jeg kan sagtens fixe det, hvis det er i samme regneark på f.eks. flere faner, men …. Kundeoplysningerne skal dog kun være et sted, så der kun er et sted at vedligeholde data.

Hej Andreas
jeg er ved at lave et regneark hvor der er flere faner med varer, som sælger kan sætte antal ud for hvor mange han vil bestille. dette er jo enkelt nok
men vil gerne have en fane hvor dette så bliver summeret op så der kun bliver vist de varer hvor antal er over 0 bliver vist ( bestillingsseddel )
hvor efter på denne skal være en knap med send bestilling på
Puha er det til at lave ?

Kim siger:

Hej Andreas.
Jeg forsøger at få overført en værdi fra H54 i Ark1 til H3 i Ark2. Men når jeg bruger =Ark1!H54 kommer værdien fra H54 i Ark1 ikke frem, der står bare 0?
Svar mig meget gerne på email.
Mvh
Kim

Mette Frederiksen siger:

Hent data fra et andet ark
Jeg har 13 ark.
Det første hedder forside, de efterfølgende hedder Del 1, Del 2 …….. Del 12.
Jeg vil gerne dele Del ark tekst og tal til forsiden.
Det virker fint på del 1- del 9.
Men når jeg sætter formel =’Del 10′!A2 ind, så viser den kun formlen og feltets indhold.

Kjeld siger:

Hej Andreas
Jeg har 3 ark. Ark til opskrifter/kalkulation. Ark til registrering af næringsværdier og ingredienser. Ark til varer.
Alt virker indtil jeg skal hente ingredienserne. Der er op til 12 kolonner med ingredienser på alle varernumre.
Når der er indtastet en opskrift/kalkulation skal den hente ingredienserne i faldende orden i.h.t. til indtastede opskrift. Næringsværdiberegningen virker fint, det er jo også tal. Jeg kan ikke få teksten/ingredienserne til at virke.
Kan du hjælpe 🙂

7
0
Would love your thoughts, please comment.x
()
x