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

Hersenkrakertje: Bepaal status van een persoon vanuit een database

Status
Niet open voor verdere reacties.

arjandvd

Gebruiker
Lid geworden
1 aug 2006
Berichten
10
Stel ik heb een database in excel met per persoon op datum bijgehouden wat zijn status is (starter, doorstromer, uitstromer). Ook toekomstige statuswijzigingen zijn hierin opgenomen.

Nu wil ik op basis van de database een nieuwe lijst genereren met de huidige status van alle voorkomende personen in de database (dus alle mutaties voor vandaag tellen mee, die erna vallen niet). Hoe kun je deze lijst met huidige statussen automatisch laten genereren? Het mooiste zou zijn dat je dit realiseert zonder VBA-code! Het antwoord moet volgens mij een soort van geneste formule zijn. Eerst moeten die records eruitgepikt worden die bij een persoon horen, daarna moet de juiste datumwaarde binnen deze records eruit worden gepikt, waarna hij de erbijbehorende status moet weergeven.
Helemaal elegant zou zijn als dit probleem wordt getackeld met een DRAAITABEL, I like it!!!

:thumb:
 

Bijlagen

Laatst bewerkt:
Je bent al bekend met de formule: vert.zoeken?

Probeer deze eens in de cel achter kees en dan naar beneden kopieeren.
Code:
=VERT.ZOEKEN(A19,A2:B10,2,ONWAAR)

nadeel is wel dat hij de tweede kees niet vindt, moet dus met identieke namen werken bv kees1 en kees 2.


Groet,
Ferenc
 
Je bent al bekend met de formule: vert.zoeken?

Probeer deze eens in de cel achter kees en dan naar beneden kopieeren.
Code:
=VERT.ZOEKEN(A19,A2:B10,2,ONWAAR)

nadeel is wel dat hij de tweede kees niet vindt, moet dus met identieke namen werken bv kees1 en kees 2.


Groet,
Ferenc

Dit is niet wat ik bedoel, je doet namelijk niks met de datums!!! De Kees is telkens dezelfde persoon, alleen wijzigd zijn status door de loop van de tijd. Het gaat erom dat ik precies de status oproep bij een gestelde datum. Statussen in de toekomst tellen dan niet mee, alleen de laatste mutatie voor de gestelde datum.
 
Laatst bewerkt:
niet wat ik bedoel, wel leuk

Is dit wat je zoekt?


dit is niet helemaal wat ik zoek, maar wat voor formule of stukje VBA-code heb je nu toegevoegd?

wat ik zoek is de huidige status van ieder persoon in de database (dus met dagdatum van NU, is bijvoorbeeld 01-SEP-2006). Daarbij moet hij niet de status hebben van bv 02-SEP-2006 en verder. Als iemand dan bijvoorbeeld op 1-JAN-2008 van status veranderd moet dat niet meegenomenworden in de Huidige Status. Hij moet de laatste wijziging nemen voor 01-SEP-2006!
 
Laatst bewerkt:
dit is niet helemaal wat ik zoek, maar wat voor formule of stukje VBA-code heb je nu toegevoegd?
Rechtsklik op de tab Blad2 en kies voor programmacode weergeven, daar vind je de code.
Heb wel, om de code te kunnen gebruiken, de tabel waarin gezocht moet worden een naam gegeven. (de naam naam):D
 
dit is niet helemaal wat ik zoek, maar wat voor formule of stukje VBA-code heb je nu toegevoegd?

wat ik zoek is de huidige status van ieder persoon in de database (dus met dagdatum van NU, is bijvoorbeeld 01-SEP-2006). Daarbij moet hij niet de status hebben van bv 02-SEP-2006 en verder. Als iemand dan bijvoorbeeld op 1-JAN-2008 van status veranderd moet dat niet meegenomenworden in de Huidige Status. Hij moet de laatste wijziging nemen voor 01-SEP-2006!

In het bestandje van Cor een paar posts terug, zet dit in C19:

=ZOEKEN($A$15;ALS($A$2:$A$10=A19;$C$2:$C$10;"");$B$2:$B$10)

Dan Ctrl-Shift-Enter.

Is dit wat je wilt?

Wigi
 
de formule van WIGI werkt niet bij mij

volgens mij zit je dicht bij de oplossing WIGI, alleen als ik jouw formule op C19 invul krijg ik de melding #WAARDE. hoe krijg ik er de juiste waarde uit!??
 
volgens mij zit je dicht bij de oplossing WIGI, alleen als ik jouw formule op C19 invul krijg ik de melding #WAARDE. hoe krijg ik er de juiste waarde uit!??

Je hebt toch wel degelijk het bestandje genomen van Cor uit post #3 van dit topic?
 
jazeker, het bestand uit #3

ik heb precies zoals je hebt aangegeven het bestand uit #3 gebruikt. Ik heb het zojuist nog een keer geprobeerd, met als uitkomst #WAARDE. Zou je misschien voor deze keer zo vriendelijk willen zijn om mijn hoofdbestand te gebruiken (helemaal boven in de lijst bij mijn vraag)? Wat helemaal top zou zijn is een oplossing met een DRAAITABEL, maar ja dan moet je wel heel goed weten wat je doet. groet, en ik zie het zo wel, bedankt voor het meedenken!!! :thumb:
 
Als jij HEEL mijn post had gelezen, had je de oplossing al gehad:


In het bestandje van Cor een paar posts terug, zet dit in C19:

=ZOEKEN($A$15;ALS($A$2:$A$10=A19;$C$2:$C$10;"");$B$2:$B$10)

Dan Ctrl-Shift-Enter.

Dat laatste heb je niet gedaan. En dan lukt het wel.

Het is een Array formule.
 
toetscombinatie heeft geen effect

ook jouw CTRL-SHFT-ENTER combinatie heb ik uitgevoerd na celwijziging. De waarde #WAARDE bleef gewoon staan. Mogelijk dat mijn computer deze combinatie niet kent.
Als je zin hebt, wil je dan het bovenste bestand (is aangepast tov de eerste plaatsing) met jouw kennis aanpassen. Bij voorbaat dnak, groet, Arjan
 
Je mag geen Enter drukken als je een Array formule ingeeft of plakt. ALs je het goed doet komen er accolades te staan rond de formule.

Wigi
 
Ik zou het gerust willen voordoen in een bestandje, maar dan kan jij het nog niet als je de formule wilt kopiëren of aanpassen. Vandaar...

Wigi
 
SUPER, het werkt, fantastisch!!

Volgend vraagje, kan dit probleem ook getackeld worden met een draaitabel, welke een beetje intelligenter is gemaakt??


ik ben heel benieuwd!!!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan