• 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.

Zoekfunctie Excel

Status
Niet open voor verdere reacties.

Mbaa123456

Nieuwe gebruiker
Lid geworden
5 jan 2018
Berichten
4
Goeienavond,

Ik heb een vraag mbt de zoekfunctie in Excel.
Ik wil zoeken op basis van een personeelsnummer EN op basis van een datum van en datum tot binnen een ander bereik.
Binnen dat andere bereik is het personeelsnummer hetzelfde maar kan de datum van en datum tot verschillen.

Zie bijlage.

Wie kan me helpen? Ik heb al gekeken naar de Index functie en verticaal zoeken biedt me niet genoeg opties..

Alvast bedank!

Bekijk bijlage Zoek functie Excel_new.xlsb
 

Bijlagen

Laatst bewerkt:
Ok dankje maar dat is niet echt de oplossing waarnaar ik op zoek ben. Ik denk dat mijn voorbeeld niet helemaal duidelijk is geweest. Ik ben eigenlijk het liefst op zoek naar een formule (Index o.i.d.) die de desbetreffende zoekfunctie kan oplossen. Ik wil de data als platte data verder kunnen bewerken.

Ik heb mijn voorbeeld verder uitgebreid wellicht dat het nu duidelijker is.Bekijk bijlage Zoek functie Excel_new.xlsb
 

Bijlagen

Probeer deze eens:
Code:
K2: =ALS.FOUT(INDEX($E:$E;MAX(ALS($A$14:$A$26=$D2;1;0)*ALS($C$14:$C$26<=$I2;1;0)*ALS($D$14:$D$26>=$J2;1;0)*RIJ($E$14:$E$26)));"")
Let op: matrixfunctie, d.w.z. afsluiten met Control+Shift+Enter na invoeren/wijzigen.
 
Hetzelfde resultaat.
Code:
=ALS.FOUT(INDEX($E$14:$E$26;MAX(ALS(($A$14:$A$26=D2)*($C$14:$C$26<=I2)*($D$14:$D$26>=J2);RIJ($1:$13))));"")
 
Formule uit #4 aangepast o.b.v. voorzetje Harry:
Code:
=ALS.FOUT(INDEX($E:$E;MAX(($A$12:$A$24=$D2)*($C$12:$C$24<=$I2)*($D$12:$D$24>=$J2)*RIJ($12:$24)));"")
Nog weer wat korter...
 
Laatst bewerkt:
Omdat ik tegen formules ben die over gehele kolommen gaan (zeer vertragend).
Code:
=ALS.FOUT(INDEX(E$12:E$24;MAX((A$12:A$24=D2)*(C$12:C$24<=I2)*(D$12:D$24>=J2)*RIJ($1:$13)));"")

Of zoals de gegevens staan in het bestand kan het ook zonder Ctrl+Shift+Enter.
Code:
=ALS.FOUT(INDEX(E$12:E$24;somproduct((A$12:A$24=D2)*(C$12:C$24<=I2)*(D$12:D$24>=J2)*RIJ($1:$13)));"")
 
Bekijk bijlage beperkte data test.xlsb

Helaas ben ik er toch nog niet geheel. Als voorbeeld had ik het binnen 1 tabblad aangegeven maar in de praktijk zullen de gegevens vanuit een ander werkblad moeten worden opgehaald. Zie bijlage. Ik heb de formule wel aangepast maar ik krijg toch vreemde waardes. Het betreft inderdaad in de praktijk een dataset met heel veel regels (> 30 000) dus ik zoek naar een formule die niet al te veel rekenwerk vergt.

Iemand nog tips / ideeen?

Alvast bedankt weer!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan