[EXCEL] VLOOKUP in bestandsnaam met CONCATENATE / INDIRECT ?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • raoel
  • Registratie: Juli 2002
  • Laatst online: 12-07 10:12
Hier en op google gezocht, maar het werkt maar niet.

Ik heb per leverancier een excel bestand waarin de door hen geleverde producten staan. De bestandnaam is opgebouwd uit de naam van de leverancier met de code erachter: naam code.xls

Daarnaast heb ik een totaallijst met daarin alle producten met daarachter de naam en code van de leverancier. In die totaalijst wil ik gegevens laten zien uit de lijsten van de leveranciers. Dat wilde ik doen met een VLOOKUP.

Met CONCATENATE kan ik de naam en code achter elkaar zetten.
=CONCATENATE(B1," ",C1,"xls")

Dat had ik eerst in de vlookup gezet, maar kwam erachter dat je INDIRECT moet gebruiken. Nu heb ik in een cel de uitkomst van de CONCATENATE formule hard geplakt in D1.

Vervolgens wil ik met de volgende formule werken:
=VLOOKUP($A1,INDIRECT("[$D1]Sheet1!A:Z"),1,FALSE)

Maar krijg dan een #REF! error. Heb ook al wat gestooid met de " en [], krijg dan ook andere errors, maar werken doet het dus niet.

Wie kan me helpen?


Ik had onder andere uit deze topic info gehaald:
[Excel 2003] VLOOKUP naar extern bestand met variabele naam


Wie kan mij verder helpen?

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Klik eens op indirect in de formulebalk en dan o het Fx tekentje ernaast. Goed kijken hoe hij
code:
1
"[$D1]Sheet1!A:Z"
evalueert. Zul je zien dat hij nog steeds de letterlijke tekst weergeeft en niet de bestandsnaam. Vervolgens nog eens kijken naar het gebruik van aanhalingstekens in je formule en vergelijken met het topic wat je al vond. ;)

[ Voor 22% gewijzigd door Lustucru op 27-08-2008 21:40 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 00:41

Reptile209

- gers -

Het makkelijkst is in dit soort gevallen om een handmatige link neer te zetten (even de "=" er uit slopen zodat je de gehele verwijzing ziet. Vervolgens ga je net zo lang met je formule rommelen totdat die de juiste verwijzing namaakt (het "[$D1]Sheet1!A:Z" gedeelte dus even los in een cel als formule zetten). Dan zie je veel sneller waar je de mist in gaat dan als je een foute verwijzing direct probeert te gebruiken in een andere formule.

Gratis tip: het moet beginnen met ="["&$D1&"]" of =CONCATENATE("[",$D1,"]",...)

[ Voor 8% gewijzigd door Reptile209 op 27-08-2008 21:57 ]

Zo scherp als een voetbal!


  • raoel
  • Registratie: Juli 2002
  • Laatst online: 12-07 10:12
Ik ben wat verder gekomen denk ik, maar het werkt nog niet...


In D3 staat:
=CONCATENATE("'C:\PAD\[",C3," ",B3,".xls]Sheet1'!$A$1:$X$1000")
(stel B3: tweakers / C3: 1234)
In E3 staat D3
En in F3 staat =INDIRECT($E3)

Dat levert in F3 netjes: 'C:\PAD[tweakers 1234.xls]Sheet1'!$A$1:$X$1000
Als ik dat hard in de VLOOKUP zet
=VLOOKUP($G3,'C:\PAD[tweakers 1234.xls]Sheet1'!$A$1:$X$1000,1,FALSE)
dan werkt het perfect.

Maar als ik de volgende gebruik =VLOOKUP($G3,INDIRECT($E3),1,FALSE)
dan krijg ik een #N/A error.


De INDIRECT formule los werkt wel, maar in de VLOOKUP niet. Hoe komt dit? Wat zie ik over het hoofd. Heb overigens ook al de CONCATENATE in de VLOOKUP ingevuld. Die werkt los dus wel, maar in de VLOOKUP niet.

  • raoel
  • Registratie: Juli 2002
  • Laatst online: 12-07 10:12
Na wat zoekwerk heb ik internet ook gelezen dat hetgeen ik wil gewoon niet mogelijk is.
Met INDIRECT kun je niet naar een extern bestand verwijzen.

Kan iemand dit bevestigen, weet iemand nog een andere manier?

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 00:41

Reptile209

- gers -

Via Google kom ik de opmerking tegen dat INDIRECT alleen naar een extern bestand dat open staat kan verwijzen. Via een macro (of handmatig) moet je dus eerst zorgen dat je files open staan en dan zou het moeten werken...

Zo scherp als een voetbal!

Pagina: 1