Avatar billede Bumle Mester
21. oktober 2018 - 10:41 Der er 11 kommentarer og
1 løsning

Lopslap gentagne opslagsværdier(vba)

Hej,

Har denne som de fleste nok kender: =LOPSLAG(A1;'Ark2'!A:B;2;FALSK)

Jeg har den udfordring, at værdien i min opslagsværdi findes flere gange i min matrix.
Den første værdi bliver smidt i B1 hvor min formel er placeret, men ville gerne at C1 kunne modtage en værdi, hvis min opslagsværdi fines flere gange i min matrix.
Måske det skal gøre med lidt vba, men har ikke lige fundet en løsning. Opslagsværdien kan findes op til 6 gange i min matrix og ville gerne, at hvis f.eks min opslagsværdi er A1, så bliver det søgte gengivet i B1, C1,D1 osv.

Håber, at jeg har forklaret det ordenligt.

På forhånd tak.
Avatar billede xl-Enthusiast Ekspert
21. oktober 2018 - 11:07 #1
Med dine data i A2:B100 prøv denne matrixformel i B1:

=HVIS.FEJL(INDEKS($B$2:$B$100;MINDSTE(HVIS($A$2:$A$100=$A$1;RÆKKE($A$2:$A$100)-CELLE("row";$A$2:$A$100)+1);KOLONNER($A:A)));"")

Kopier mod højre.
Avatar billede ebea Ekspert
21. oktober 2018 - 11:13 #2
LOPSLAG vil kun returnere første værdi. Men du kan bruge en Array formel, som nedenstående. Husk at den skal indtastes ved hjælp af Ctrl+Shift+Enter for at danne de 2 kurvede klammer for og bag i formlen!
Kopier formlen ned, så langt du har data du vil returnere i Ark1
{=HVIS.FEJL(INDEKS('Ark2'!$B$1:$B$10;MINDSTE(HVIS($A$1='Ark2'!$A$1:$A$10;RÆKKE($A$1:$A$10)-MIN(RÆKKE('Ark1'!$A$1:$A$10))+1;"");RÆKKE()));"")}
Avatar billede xl-Enthusiast Ekspert
21. oktober 2018 - 11:13 #3
Ved indtastning af formlen, husk at holde Ctrl og Shift nede før tryk på Enter. Hvis du kopierer og indsætter formlen i en celle så tryk på F2 efter indsætning, hold Ctrl og Shift nede før tryk på Enter.
Avatar billede Bumle Mester
21. oktober 2018 - 12:21 #4
@XL: Vil gerne have at min matrix er ark 2 A:B

Ellers virker det helt fint.

@ebea: Uanset hvad jeg gør, så danner den ikke en formel med kun formel som tekst i min celle.
Hvad hulan gør jeg forkert?

Virkelig glad for jeres hjælp.
Avatar billede Bumle Mester
21. oktober 2018 - 12:24 #5
@ebea: har fået det til, at virke nu.
Avatar billede xl-Enthusiast Ekspert
21. oktober 2018 - 12:32 #6
=HVIS.FEJL(INDEKS(Ark2!$B$1:$B$100;MINDSTE(HVIS(Ark2!$A$1:$A$100=$A$1;
RÆKKE(Ark2!$A$1:$A$100)-CELLE("row";Ark2!$A$1:$A$100)+1);KOLONNER($A:A)));"")
Avatar billede Bumle Mester
21. oktober 2018 - 12:41 #7
Det virker perfekt XL 1000 tak.
Men hvordan vil formlen se ud i B2?
Avatar billede xl-Enthusiast Ekspert
21. oktober 2018 - 12:44 #8
Hvad mener du.
Indtaster du ikke formlen i Ark1!B1 og derefter kopierer mod højre. Var det ikke det, du skrev i dit indledende spørgsmål?
Avatar billede Bumle Mester
21. oktober 2018 - 12:56 #9
Hej,

Jo det var det, men har også flere værdier i ark 1 kolonne A som jeg gerne vil gøre det samme på.
Altså A2 med formlen i B2, A3 med formlen i B3 osv osv.
Men hvis det ikke kan lade sig gøre på denne måde, så laver jeg bare nogle hjælpe kolonner.
Avatar billede xl-Enthusiast Ekspert
21. oktober 2018 - 13:01 #10
=HVIS.FEJL(INDEKS(Ark2!$B$1:$B$100;MINDSTE(HVIS(Ark2!$A$1:$A$100=$A1;
RÆKKE(Ark2!$A$1:$A$100)-CELLE("row";Ark2!$A$1:$A$100)+1);KOLONNER($A:A)));"")
Avatar billede xl-Enthusiast Ekspert
21. oktober 2018 - 13:27 #11
Eneste ændring i forhold til #6:

$A$1 i andet argument af HVIS-funktionen ændres til $A1
Avatar billede Bumle Mester
21. oktober 2018 - 13:41 #12
Perfekt.
Tak for hjælpen begge 2.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester