Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Meerdere uitkomsten uit verticaal zoeken

4,636 views
Skip to first unread message

excel-leek

unread,
Mar 26, 2010, 6:40:01 AM3/26/10
to
Ik heb in een tabblad een document met in kolom A artikelen en in kolom B de
klanten.
Daarnaast heb ik een bestand gemaakt waarin alle klanten staan met een
tabblad per klant.
Nu moet er per klant aangegeven staan welke artikelen die afneemt.
Welke formule moet ik dan in elk tabblad maken om alle artikelen in een
lijst onder elkaar te krijgen?

Maurrieske

unread,
Mar 27, 2010, 6:18:34 AM3/27/10
to
Ik hoop dat je niet echt een excel leek bent. In dat geval zul je de
oplossing niet helemaal begrijpen. De volgende oplossing werkt.
Uitgangspunten.
Het bestand met de gegevens van de artikelen en de klanten heet: Artikel.xls
Het blad met de gegevens in bestand Artikel.xls heet: Blad1
Een artikel zal meer dan een keer voorkomen in kolom A indien er meer dan
een klant gebruik van maken.
Voorbeeld
Artikel Klant
patat Jan
patat Piet
patat Klaas
kroket Klaas
kroket Piet
gehaktbal Joris
gehaktbal Peter
gehaktbal Klaas

In het bestand met de klanten staat in cel A1 de klantnaam zoals deze ook
voorkomt in het bestand Artikel.xls op Blad1 in kolom B.
Cel B1 blijft leeg!

Zet in cel A2 de formule:
=ALS(B2="";"";INDIRECT("[artikel.xls]Blad1!$A"&B2))
Deze formule kun je kopieren naar de overige cellen in kolom A zover als je
maar wil.

Zet in cel B2 de formule:
=ALS(ISFOUT(VERGELIJKEN(A$1;INDIRECT("[artikel.xls]Blad1!$B"&B1+1&":$B65536");0));"";VERGELIJKEN(A$1;INDIRECT("[artikel.xls]Blad1!$B"&B1+1&":$B65536");0)+B1)
Deze formule kun je kopieren naar de overige cellen in kolom B zover als je
maar wil.

Verbaas je over het resultaat.


Dan voor de volledigheid (voor het geval je een echte excel leek bent) de
uitleg over de formules:
INDIRECT("[artikel.xls]Blad1!$A"&B2) is een bereikverwijzing als tekst
weergegeven. Indien in cel B2 de waarde 3 staat zal de uitkomst van de
formule zijn:
[artikel.xls]Blad1!$A3

VERGELIJKEN(A$1;INDIRECT("[artikel.xls]Blad1!$B"&B1+1&":$B65536");0)
Uitgaande van de waarde leeg in cel B1 kan ik het deel
INDIRECT("[artikel.xls]Blad1!$B"&B1+1&":$B65536")vervangen door.
[artikel.xls]Blad1!$B1:B65536
De formule wordt dan
VERGELIJKEN(A$1;[artikel.xls]Blad1!$B1:$B65536;0)
Deze formule geeft als resultaat de plaats waar de eerste keer de gezochte
waarde gevonden wordt ten opzichte van de eerste cel in het opgegeven
bereik. Wordt de waarde niet gevonden dan zal de uitkomst #NB zijn.
Omdat ik gebruik maak van de waarde in de bovenliggende cel (in dit geval de
cel B1) kan ik het zoekbereik variabel maken en zal de uitkomst van de
formule het excel rijnummer zijn waar de zoekwaarde zich bevindt in het
zoekbereik. Elke keer tel ik de uitkomst van de Vergelijken() formule op bij
de uitkomst van de bovenliggende cel omdat de uitkomst van de Vergelijken
formule het nummer weergeeft van de rij binnen het zoekbereik (en dat is
niet gelijk aan het excelrijnummer indien ik niet begin in A1).

De formule
ISFOUT(VERGELIJKEN(A$1;INDIRECT("[artikel.xls]Blad1!$B"&B1+1&":$B65536");0))
zullen we eerst even herschrijven indien de waarde in cel B1 leeg is.
Hierbij maak ik gebruik van de voorgaande uitleg.
ISFOUT(VERGELIJKEN(A$1;[artikel.xls]Blad1!$B1:$B65536;0)) geeft de waarde
WAAR indien de uitkomst van de formule
VERGELIJKEN(A$1;[artikel.xls]Blad1!$B1:$B65536;0) gelijk is aan #NB (de
gezochte waarde wordt niet gevonden in het opgegeven bereik).
Is de uitkomst van de formule
VERGELIJKEN(A$1;[artikel.xls]Blad1!$B1:$B65536;0) niet gelijk aan #NB (ofwel
de gezochte waarde komt wel voor in het opgegeven bereik) dan zal de
uitkomst van de ISFOUT() formule gelijk zijn aan ONWAAR.

Ik hoop dat dit voldoende uitleg was.

Groetjes,

Maurrieske


"excel-leek" <excel...@discussions.microsoft.com> schreef in bericht
news:00B11684-E9A9-4886...@microsoft.com...

Sjabloon Master

unread,
Mar 27, 2010, 9:23:02 AM3/27/10
to
Hallo Excel leek,

Volgens mij kun je jezelf een hoop werk besparen als je boven je
oorspronkelijke tabel gewoon een filter invoegt.
Dan kun je op klant selecteren en hoef je niet per klant een blad aan te
maken.
Wil je per klant kopiëren kies dan ga naar speciaal alleen zichtbare cellen.

Succes!

"excel-leek" schreef:

0 new messages