Toon posts:

Excel expert gezocht (zoekfuncties)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zal eerst eens zo duidelijk mogelijk proberen uit te leggen wat de bedoeling is:

Ik heb een 8-tal excel documenten met daarin data van klanten. Nu wil ik in 1 hoofdoverzicht die data weer laten geven. De klanten hebben allemaal een klantnummer. Een klantnummer met naam komt maar 1 keer voor. De 8 bestanden zijn nodig om de gegevens in te kunnen voeren. Klantnummers lopen in de 8 bestanden door elkaar. Zo kan bestand 1 de klantnummers 15,16,20,25 hebben en bestand 2 de nummers 14,17,21,28 etc etc.

In mijn hoofdoverzicht wil ik echter de klantnummers gesorteerd hebben. Dus 1,2,3,4 etc etc

Vervolgens moet er via de "VERT.ZOEKEN"-functie de klantnaam en verdere gegevens bij het ingevulde klantnummer gezocht worden. Op zich geen probleem, het lukt me echter niet om in meerdere bestanden tegelijk te zoeken. Dit heb ik als volgtgeprobeerd:

=VERT.ZOEKEN(A1;'[bestand1.xls]blad1'!$A:$B+'[bestand2.xls]blad1'!$A:$B;2;ONWAAR)

&

=ALS(VERT.ZOEKEN(A1;'[bestand1.xls]blad1'!$A:$B;2;ONWAAR)=0;VERT.ZOEKEN(A1;'[bestand2.xls]blad1'!$A:$B;2;ONWAAR);"")

Zoals eerder gezegd wil ik de klantnummers dus ook gesorteerd hebben. Het laagste klantnummer weet ik en kan ik vast invoeren (bijv. in cel A1). Echter is de nummering niet doorlopend. Voorbeeld: 100110, 100120, 100130, 100450. Dus vraag ik me af hoe ik het volgende klantnummer in cel A2 krijg. Ik had me bedacht dit te doen door middel van het vinden van de minimale waarde en dan met een "MAAR" functie dat deze wel hoger moet zijn dan de waarde in de cel erboven (A1). Maar ik zou dus bij god niet weten welke functie ik moet hebben voor deze zogenaamde "MAAR" functie.

Tot zover, ik hoop wat wijzer te kunnen worden. Als het niet duidelijk is, zeg het, dan probeer ik het wel duidelijk uit te leggen. Alvast bedankt.

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 17:56
Inderdaad, Vert.zoeken over diverse werkbladen kan niet.
In het algemeen, een combinatie van ranges over diverse werkboeken is niet zo een geslaagde manier om excel gelukkig te krijgen.

Alvorens verder in te gaan op je probleem: De meest efficiente oplossing is VBA. Aangezien jij het er niet over hebt, gok ik dat je geen/weinig VBA kennis hebt.
Daarom: het kan in formules (hoewel het niet erg netjes wordt)
* onkl verzint even wat. work in progress
Jawel, 't wordt een zootje.

in je hoofdoverzicht:
Maak 2 nieuwe tabbladen aan.
Namen: Bestanden, Lijst
In Bestanden:
A1: 1
B1: Book1
A2:2
B2: Book2
(Waar Book 1 en 2 staat: de volledige naam van je bestanden, incl. pad en zo.)
(Deze is geprobeerd met 2 externe werkboeken, meer moet geen probleem zijn)
In Lijst:
A1: Bestand
B1: Rij
C1: Bestandsnaam
D1: Inhoud
A2:1
B2:1
C2:=INDEX(Bestanden!B$1:B$2,Sheet2!A2)
D2:=INDIRECT("[" & C2 & "]Sheet1!$A$"&B2,TRUE)
A3:=IF(B3=1,IF(MAX(Bestanden!A$1:A$2)>A2,A2+1,0),A2)
B3:=IF(INDIRECT("[" & C2 & "]Sheet1!$A$"&B2+1,TRUE)="",1,B2+1)
C3:=INDEX(Bestanden!B$1:B$2,Sheet2!A3)
D3:=INDIRECT("[" & C3 & "]Sheet1!$A$"&B3,TRUE)
Rij 3 (A3:D3) naar beneden slepen.
Et voila, je lijst.
Ik ben ervan uit gegaan dat in alle subdocumenten je klantnummers in kolom A van Sheet1 staan.

Sorteren: Kijk eens naar de functie Large, waarschijnlijk grootste oid. in het nederlands. Kan je aangeven dat je de 1na, 2 na, x na grootste in een rij wilt.

b.t.w., check je mail, heb bestandje naar je toegestuurd, tegen typefoutjes.

[ Voor 61% gewijzigd door onkl op 08-12-2004 17:08 . Reden: largest->large ]


Verwijderd

Topicstarter
vba???? is dat visual basic ofzo? maar je hebt gelijk, daar weet ik inderdaad niks van

alvast bedankt

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 17:56
Voor het archief:
Wat je doet is simpel.
In kolom B wordt het rijnummer berekend waarin het klantnummer van die rij staat.
Kijk naar de formule in B3. Die lijkt heel erg op die in D2. Eigenlijk zegt die formule: Als er in de rij na degene boven mij nuttige info staat, moet in de rij boven mij +1 zijn. Anders moet ik 1 zijn.
Kolom A "ziet" vervolgens dat kolom B 1 is en gaat op zoek naar het volgende bestand (A3)
C haalt de naam van het bestand uit een lijstje wat je ergens hebt staan en in kolom D staat je uiteindelijke waarde.

De formule indirect is erg nuttig, hiermee kan je een verwijzing als het ware dynamisch opbouwen. Altijd bekijken als je met diverse werkbladen werkt.

[ Voor 11% gewijzigd door onkl op 08-12-2004 17:04 ]