Avatar billede dla Praktikant
02. april 2003 - 11:31 Der er 24 kommentarer og
1 løsning

Lopslag i flere ark

LOPSLAG kan åbenbart kun kigge i et ark. Hvad gør man når man gerne vil søge efter en værdi i flere ark? Jeg skal bruge det til at hente de andre værdier på samme linie som den værdi jeg søger efter.
Avatar billede b_hansen Novice
02. april 2003 - 11:33 #1
=LOPSLAG()+LOPSLAG()+LOPSLAG()

Dette virker dog kun, hvis opslagsværdien kun forekommer på det ene ark.
Avatar billede dla Praktikant
02. april 2003 - 11:35 #2
Det gør den også, men jeg har 26 ark, så det bliver godt nok nogle lange formler! Jeg prøver det lige af.
Avatar billede dla Praktikant
02. april 2003 - 11:40 #3
Jeg kan altså ikke umiddelbart få det til at virke, kan du?
Avatar billede b_hansen Novice
02. april 2003 - 11:58 #4
Hvis der laves opslag på tal, kan du lave den med plusser mellem hvert opslag. Ellers skal du udskifte plusset med og &
Eksempel: =LOPSLAG(A2;E1:F4;2)&LOPSLAG(A2;E1:F4;2)

Jeg ved godt, at jeg laver et opslag på det samme område begge gange. Men eksemplet fungerer *S*
Avatar billede dla Praktikant
02. april 2003 - 12:12 #5
Altså hvis jeg skriver + lægger den sammen, hvis jeg skriver & skriver den teksten after hinanden, men det er jo ikke det den skal. Min formel ser f.eks sådan ud:
=LOPSLAG(A1;'Group 1'!A6:I44;3)&LOPSLAG(A1;'Group 2'!A6:I44;3)
og så skriver den teksten i celle C6 på arket 'Group 1' og derefter teksten i celle C6 på arket 'Group 2', selvom det jeg har skrevet i A1 ikke svarer til celle C6 på arket 'Group 2', men kun til celle C6 på arket 'Group 1'.
Meningen er at den skal søge  i begge ark efter tallet der står i A1, og så returnere teksten der passer med mit indtastede tal.

Giver det mening, eller er det helt volapyk?
Avatar billede b_hansen Novice
02. april 2003 - 12:32 #6
Prøv med:
=LOPSLAG(A1;'Group 1'!A6:I44;3;SAND)&LOPSLAG(A1;'Group 2'!A6:I44;3;SAND)

Jeg har tilføjet "SAND" i dine opslagsformler. Det bevirker, at der kun returneres, hvis den eksakte værdi findes
Avatar billede dla Praktikant
02. april 2003 - 12:37 #7
Beklager, men det gør ingen forskel, den skriver stadig begge tekster.
Avatar billede b_hansen Novice
02. april 2003 - 12:46 #8
lige et øjeblik....

Du skriver "svarer til celle C6", men der slås altså op i kolonne A. 3-tallet i LOPSLAG refererer til den kolonne, der returneres, ikke til den der slås op i.
Avatar billede b_hansen Novice
02. april 2003 - 12:48 #9
iøvrigt skal der heller ikke stå SAND i formlen. Der skal stå FALSK
Avatar billede dla Praktikant
02. april 2003 - 12:51 #10
Undskyld, jeg mente selvfølgelig A6. C6 er den celle den henter værdien fra. Jeg fandt også ud af at der burde stå falsk, men det virker ikke alligevel, for så skriver den bare #I/T
Avatar billede b_hansen Novice
02. april 2003 - 12:59 #11
Følgende burde tage højde for #I/T:

=HVIS(ER.FEJL(LOPSLAG(A1;'Group 1'!A6:I44;3;FALSK));"";LOPSLAG(A1;'Group 1'!A6:I44;3;FALSK))&HVIS(ER.FEJL(LOPSLAG(A1;'Group 1'!A6:I44;3;FALSK));"";LOPSLAG(A1;'Group 1'!A6:I44;3;FALSK))

Men det bliver langhåret, når det drejer sig om 26 ark......
Avatar billede b_hansen Novice
02. april 2003 - 13:00 #12
Hvis det ikke drejer sig mere end 44 linier pr. ark, ville jeg nok i stedet overveje at samle dem på et enkelt i stedet for.
Avatar billede dla Praktikant
02. april 2003 - 13:09 #13
Det har jeg også overvejet at gøre, selvom den største gruppe er på 100 linier.
Og dit "ER:FEJL" forslag virkede heller ikke, så nu gider vi ikke bruge mere tid på det. Men det undrer mig at der er noget der ikke kan lade sig gøre.

Du får pointene for dine ihærdige forsøg, tak fordi du gad prøve.
Men skulle du pludselig finde de vises sten, må du endelig skrive igen.

Mvh Dorit
Avatar billede b_hansen Novice
02. april 2003 - 13:14 #14
Jeg forstår nu ikke, at ER.FEJL() ikke fungerer, men lad nu det ligge *S*.

Hvis der tale om en engangsøvelse, vil jeg klart samle tallene i et enkelt ark. Hvis det er en øvelse, der skal laves flere gange, kan du overveje at lave en makro, der samler dine data i et ark, uden at ødelægge de oprindelige (men der kan jeg ikke hjælpe).

Et alternativ til en makro kan være at oprette et nyt ark med referencer til dine oprindelige, hvis der ikke sker ændringer i arkenes antal linier.
Avatar billede dla Praktikant
02. april 2003 - 14:35 #15
b_hansen> Bare til din orientering: ER.FEJL virkede godt nok, jeg kopierede først bare din formel, og der skulle jo stå Group 2 de sidste to steder. Så i princippet kan det godt bruges borset fra at formlen bliver for lang p.g.a. de mange ark. Ærgeligt!
Avatar billede bak Forsker
02. april 2003 - 17:26 #16
dla-> jeg ved ikke om du kan bruge det til noget, men denne VBA-funktion søger i alle ark undtaget den, funktionen skrives i.
Indsæt den i et alm. modul.
bruges sådan
=vlookup_allsheets(Søgeværdi;område; kolonne til højre)
=vlookup_allsheets(C1;A1:B10; 2)



Function Vlookup_AllSheets(opslag, matrix As Range, kol)
Dim ws As Worksheet
Dim StartArk As String
Dim x As Long
Dim var As Variant
StartArk = ActiveSheet.Name
For Each ws In ActiveWorkbook.Worksheets
    If ws.Name <> StartArk Then
        var = ws.Range(matrix.Address)
        For x = 1 To UBound(var, 1)
            If var(x, 1) = opslag Then
                Vlookup_AllSheets = var(x, kol)
                Exit Function
            End If
        Next
    End If
Next
End Function
Avatar billede dla Praktikant
03. april 2003 - 13:08 #17
bak > Fantastisk! Jeg er ikke nogen ørn til vba, så jeg kan ikke rigtig gennemskue hvorfor det virker, men det gør det! Jeg er dybt taknemlig, det var lige hvad jeg kunne bruge. Du fortjener nogle point, så jeg opretter et spørgsmål, du kan trykke svar på. Tusind tak!
Avatar billede b_hansen Novice
03. april 2003 - 13:11 #18
stop.... det er mere fair, at jeg afleverer mine *S*
Avatar billede dla Praktikant
03. april 2003 - 13:13 #19
Pyt med det, du gjorde jo et helhjertet forsøg.
Avatar billede kenp Novice
03. april 2003 - 13:21 #20
Bak du skal herhen og indkasser -> http://www.eksperten.dk/spm/336834
Avatar billede kenp Novice
03. april 2003 - 13:22 #21
Bak her endnu engang -> http://www.eksperten.dk/spm/336832
Avatar billede kll1978 Nybegynder
19. december 2008 - 15:38 #22
hej Bak

istedet for søgning efter kolonne, hvordan vil formel se, når der tale om søgning efter i rækker?
Avatar billede bak Forsker
19. december 2008 - 17:51 #23
sådan cirka

Function Hlookup_AllSheets(opslag, matrix As Range, Række)
Dim ws As Worksheet
Dim StartArk As String
Dim x As Long
Dim var As Variant
StartArk = ActiveSheet.Name
For Each ws In ActiveWorkbook.Worksheets
    If ws.Name <> StartArk Then
        var = ws.Range(matrix.Address)
        For x = 1 To UBound(var, 2)
            If var(1, x) = opslag Then
                Hlookup_AllSheets = var(Række, x)
                Exit Function
            End If
        Next
    End If
Next
End Function
Avatar billede kll1978 Nybegynder
20. december 2008 - 12:35 #24
Hej bak

Tak for dit input.
Avatar billede kll1978 Nybegynder
22. december 2008 - 11:34 #25
Hej bak

hvordan kan kode, at den kun skal søge, fx. to bestemte ark og ikke alle ark.
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
Kategori
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

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