Avatar billede display Nybegynder
11. marts 2008 - 19:59 Der er 17 kommentarer og
1 løsning

LOPSLAG i dynamisk skema

Jeg har en "database" (et view fra SQL database), hvor jeg laver et opslag med LOPSLAG.
I dag begrænser jeg søgningen til linie 1500, som også er nok pt. Men da databasen hele tiden vokser, så kunne jeg godt tænke mig, at jeg ikke skal bekymre mig om hvor den "sidste" linie er.
Kan man lave et eller andet som sikre, at man kun laver opslag fra øverste til sidste aktuelle linie?
Jeg håber dette er nok til, at nogen kan komme med at bud :)
Avatar billede excelent Ekspert
11. marts 2008 - 20:12 #1
Jeg ville oprette nogle dynamiske navne, et for hver kolonne
Avatar billede fxj Juniormester
11. marts 2008 - 20:38 #2
Du kan finde sidste bruge rækkenummer med følgende formel
=SAMMENLIGN(9,99999999999999E+307;A:A)
Herefter laver du en celle med kolonnenummeret, sammenkædet med rækkenummeret
=SAMMENKÆDNING("A";SAMMENLIGN(9,99999999999999E+307;B:B))
Værdien bruger du i dit LOPSLAG

Bemærk at jeg har brugt kolonne A i begge formler. Du skal selvfølgelig indsætte den der passer med dit ark :-)
Avatar billede display Nybegynder
12. marts 2008 - 10:44 #3
Måske skal jeg lige nævne, at mit opslag sker i et andet regneark på vores fælles drev.
Jeg har nu forsøgt at lave den beskrevne formel:
=SAMMENLIGN(9,99999999999999E+307;'N:\Office\[Varelager_XAL.xls]Ark1'!A:A)
Dette medfører blot en fejl: #I/T. Hvad gør jeg forkert?
Avatar billede excelent Ekspert
12. marts 2008 - 11:36 #4
Ja det ændrer jo en del på situationen :-)

Men du kan evt. indsætte denne formel i en celle i den anden projektmappe

=MAKS(HVIS(A1:A65000<>"";RÆKKE(1:65000)))
som returnerer rækkenr på sidste ikke tomme celle
husk afslut formel med CTRL+SHIFT+ENTER

og så hente den til den aktuelle projektmappe
Avatar billede excelent Ekspert
12. marts 2008 - 11:37 #5
Formel refererer til kolonne A, ret evt.til aktuel
Avatar billede display Nybegynder
12. marts 2008 - 11:49 #6
Der må mangle noget i den beskrevne formel - jeg kan slet ikke få lov til at afslutte den??? Skal der ikke være 3 "argumenter" i en hvis formel?
Avatar billede excelent Ekspert
12. marts 2008 - 11:56 #7
Nej den er som den skal være
indsæt formel, marker formelcelle, tast F2 og afslut med CTRL+SHIFT+ENTER
Avatar billede display Nybegynder
12. marts 2008 - 12:48 #8
Så langt så godt. Nu virker dette, men jeg kan ikke få det til at virke når jeg benytter sammenkædningen.

Jeg har følgende formel i dag:
=LOPSLAG($B$3;'N:\Office\[Varelager_XAL.xls]Ark1'!$B$2:$R$15000;2)
Den virker efter hensigten. Mit ønske er ikke at være låst fast af at have valgt række 1500 som min begrænsning.

Jeg har nu fået tallet for sidste benyttet række som jeg placerer i celle B5

Hertil laver jeg så en sammenkædning:
=SAMMENKÆDNING("'N:\Office\[Varelager_XAL.xls]Ark1'!B2:R";B5)
Denne formel resulterer i følgende:
'N:\Office\[Varelager_XAL.xls]Ark1'B2:R13421

Men når jeg vil benytte dette resultat i formlen LOPSLAG - SÅ VIRKER DET IKKE !!! :(
Kan I sige hvor kæden hopper af ud fra disse informationer?
Avatar billede excelent Ekspert
12. marts 2008 - 13:10 #9
Du skal nok anvende INDIREKTE

Hvis det nu var i Ark5 opslaget skulle laves i så virker denne

=LOPSLAG(B3;INDIREKTE("Ark5!B2:R"&B5);2)

Kan ikke huske hvor INDIREKTE skal indsættes når det er i en anden projektmappe
prøv dig frem
ellers må jeg se om jeg får tid til at oprette en fil at slå op i
Avatar billede display Nybegynder
12. marts 2008 - 15:02 #10
Nu er jeg ikke lige nogen WIZARD i excel, så det med INDIREKTE kan jeg ikke få til at virke. Når jeg skriver det som vist ovenfor, så får jeg fejlen #REFERENCE.
Håber at du - excelent - kan hjælpe mig yderligere, på et tidspunkt :)
Avatar billede fxj Juniormester
12. marts 2008 - 17:29 #11
Må jeg se hele din formel du bruger i LOPSLAG??
Normalt når man får fejlen #REFERENCE i LOPSLAG er det fordi kolonneindexet er større end det antal kolonner man søger i.
Avatar billede display Nybegynder
13. marts 2008 - 11:05 #12
Det kan du tro. Den ser ud som følger:

=LOPSLAG($B$3;INDIREKTE("'N:\Office\[Varelager_XAL.xls]Ark1'!B2:R"&B5);6)
Avatar billede excelent Ekspert
13. marts 2008 - 15:25 #13
Jeg husker desværre forkert, INDIREKTE virker ganske vist, men
kun hvis begge projektmapper er åbne, og det var nok ikke lige det du havde brug for.
Dog findes der et Tilføjelsesprogram som kan installeres, som kan klare opgaven.
Et tilføjelsesprogram virker lige som t.ex. analysis tools pak
som kan vælges i menuen Funktioner.

filen som hedder Morefunc kan hentes her :

http://xcell05.free.fr/morefunc/english/index.htm#Download
Avatar billede display Nybegynder
13. marts 2008 - 15:35 #14
Hvis der er en vej uden brug af ekstra programmer, vil det være at foretrække, da der er flere brugere af dette regneark. De skal så også have dette program installeret osv.
Kan der laves en anden krølle?
Avatar billede excelent Ekspert
13. marts 2008 - 16:11 #15
går i tænkebox :-)
Avatar billede fxj Juniormester
13. marts 2008 - 20:10 #16
Der er en lille forskel i de to formler du viser:
12-03-2008: ";B5)
13-03-2008: "&B5)
Er det rigtigt nok?

Tillægsspørgsmål: Du har resultatet i kolonne 6?
Avatar billede display Nybegynder
14. marts 2008 - 08:20 #17
Den 12-03-2008 viser mit første udkast med sammenkædning, og den 13-03-2008 er første skud med INDIREKTE udfra "excelent"'s forslag.
Resultatet som jeg skal finde er i kolonne 6.
Avatar billede display Nybegynder
04. juli 2008 - 08:32 #18
Har fået problemet løst af anden vej.
Lukker derfor spørgsmålet.

Tak for diverse input fra alle.
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