• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

vertikaal zoeken

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
Ik wil de criteria die voldoen aan de naam 'test1' overzetten naar een ander excelbestand. Mijn tabel ziet er als volgt uit :

test1 25
test2 25
test3 40
test1 17
test1 30

Op mijn nieuw bestand zou dus moeten staan :

test1 25
test1 17
test1 30

Ik kan de verschillende 'test1' selekteren met =vert.zoeken("test1";a1:b5;2;onwaar) , maar ik weet niet hoe ik moet overstappen naar de volgende rijen met 'test1'.

Kan iemand helpen ?
 
Stefano,

Hiervoor kan je makkelijk zelf een macro opnemen.

Via Data => Filter => Autofilter kan je de autofilter inschakelen.

Daarna start je de macrorecorder.
Je filtert op: test 1

Kopieert het werkblad, en plakt het in het andere werkblad.

Luc
 
Hoi Stefano,

Met (matrix-)formules lukt het ook:

E6: =ALS(RIJEN(E$6:E6)>AANTAL.ALS($A$6:$A$20;$E$5);"";INDEX(A$1:A$20;100-GROOTSTE((($A$6:$A$20=$E$5)*(100-RIJ($A$6:$A$20)));RIJEN(E$6:E6))))
Invoeren met Shift & Ctrl & Enter knoppen tegelijk indrukken.
E5 is de cel waar de zoekwaarde staat, E6 de cel waar het eerste resultaat van de zoekactie komt te staan.

De formule kun je vervolgens verticaal kopieren.

Jeroen
 
Laatst bewerkt:
help jeroen !

Jeroen,

kan je de matrix een beetje uitleggen aub. Vooral het deel grootste (...)*(....) snap ik niet

Ik denk ook dat mijn tabel niet duidelijk is/was. In kolom A staan test1 test2 .... en in kolom B staan de cijfers 25 20 30 ....
 
Laatst bewerkt:
Hoi Stefano,

De formule uitleggen? Dat is een hele klus.

=ALS(RIJEN(E$6:E6)>AANTAL.ALS($A$6:$A$20;$E$5);"";INDEX(A$1:A$20;100-GROOTSTE((($A$6:$A$20=$E$5)*(100-RIJ($A$6:$A$20)));RIJEN(E$6:E6))))

De kracht van de matrix-formule zit in:
=($A$6:$A$20=$E$5)
Type dit gewoon eens in in de comptuter en kijk naar het resultaat, dat wordt een reekst in de vorm vam {0;0;1;0;0;1;1;0;0;0;1;...}
Oftewel A6 t/m A20 worden vergeleken met de waarde in E5. Als A6 gelijk is aan E5 komt er 1 of WAAR, als A6 ongelijk aan E5 dan komt er 0 of ONWAAR.

Nu vermenigvuldigen we die waarde met het rijnummer, in het geval van A6 komt er 6 te staan als A6=E5 en 0 als A6<>E5. De reeks bestaat nu uit getallen van 6 t/m 20 en een aantal 0-en. En dat is heel lastig als je de waarde van A6 bovenaan wilt hebben. Daarom vermenigvuldig je niet met het rijnummer, maar met 100-rijnummer. als A6 en A7 waar zijn krijg je {94; 93; 0;0;90;0;0;0;86;...}

Van deze reeks kun je eenvoudig de grootste bepalen, in dit geval 94, waarvan je weet dat dat correspondeert met rijnummer 100-94.

Met index kun je vervolgens in kolom A of een andere kolom de gewenste waarde vinden.

Probeer de formule langzaam op te bouwen zoals ik hem nu heb beschreven, hopelijk wordt het dan duidelijker.

Jeroen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan