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

Vreemd iets met formule

Status
Niet open voor verdere reacties.

massys

Nieuwe gebruiker
Lid geworden
19 feb 2008
Berichten
4
Jongens wie kan mij helpen ik heb iets vreemds.
Ik heb een formule gemaakt (J4) die de verjaardagen in een periode zou moeten aangeven.
Volgens de formule is alles ok maar bij sommige data laat hij niet zie dat diegene jarig is in die periode.

Hier de formule
=ALS((MAAND($E$2)*100+DAG($E$2))>(MAAND($G$2)*100+DAG($G$2));ALS(EN(OF((DATUM(0;MAAND(G4);DAG(G4)))<=DATUM(0;MAAND($G$2);DAG($G$2));(DATUM(0;MAAND(G4);DAG(G4)))>=DATUM(0;MAAND($E$2);DAG($E$2)));NIET(ISLEEG(G4)));"Jarig";"");ALS(EN((DATUM(0;MAAND(G4);DAG(G4)))>=DATUM(0;MAAND($E$2);DAG($E$2));(DATUM(0;MAAND(G4);DAG(G4)))<=DATUM(0;MAAND($E$2);DAG($G$2));NIET(ISLEEG(G4)));"Jarig";""))

E2 : vandaag
G2 : Geeft periode aan
G4 : Is geboortedatum

Tevens voor diegene die mij verder zou willen helpen mag aan de gang gaan met de vb-Script, krijg namelijk de eerste combobox niet goed. Hij geeft aan dat naam al bestaat in script, en dat er geen dubbele benaming mogelijk is.
Ik was zelf nog niet zo ver.
Dat kwam eigenlijk omdat ik dit zo'n vreemd iets vond met de formule.

Met vriendelijke groet,

Michael Arkes
 

Bijlagen

aanvulling op vraag hierboven

Je kunt het vreemde resultaat zien als je de formule doortrekt naar beneden.
bij het bijgevoegde bestand.

Met 1 cel werkt de formule prima, gek genoeg.
 
Hoi

probeer deze eens.

=ALS((MAAND($E2)*100+DAG($E2))>(MAAND($G2)*100+DAG($G2));ALS(EN(OF((DATUM(0;MAAND(G4);DAG(G4)))< =DATUM(0;MAAND($G2);DAG($G2));(DATUM(0;MAAND(G4);DAG(G4)))>=DATUM(0;MAAND($E2);DAG($E2)));NIET(I SLEEG(G4)));"Jarig";"");ALS(EN((DATUM(0;MAAND(G4);DAG(G4)))>=DATUM(0;MAAND($E2);DAG($E2));(DATUM(0 ;MAAND(G4);DAG(G4)))<=DATUM(0;MAAND($E2);DAG($G2));NIET(ISLEEG(G4)));"Jarig";""))

Wat ik gedaan heb is de tweede $ weggehaald.
deze zogt er volgensmij voor een constante verwijzing.
(thanks helpmij)

Hoop dat deze werkt.

Mth
 
Die werkt niet

Bij die formule laat hij de tekst zien en niet de uitkomst.

Alvast bedankt voor je moeite.

Michael
 
Volgens mij doet deze het wel en is +/- 75% korter :

Code:
=ALS(DATUM(JAAR($E$2)+(DATUM(JAAR($E$2);MAAND(G4);DAG(G4))<$E$2);MAAND(G4);DAG(G4))-$E$2>($G$2-$E$2);"";"jarig")
 
En als je bent geboren op 29-2, ben je dan maar 1x in de 4 jaar jarig?
 
Paul,
Geeft dat bij mijn oplossing, een probleem ("jarig" of niet) ?
Ik vroeg het me af, daar ik nergens iets zag staan als: EN(dag....=29;maand....=2):confused:

Ik heb even getest. Als iemand geboren is op 29-2-1960, vandaag() = 1-3-2009 is en de andere datum staat op b.v. 1-4-2009 geeft hij aan "jarig". Zo te zien pakt hij de 29-2 mee als 1-3, wat op zich best netjes is lijkt mij.
 
hij werkt

Bij mij doet hij het nu prima.

Maar enig idee wat ik nu fout had gedaan, want bij de ene gaf hij het wel aan en bij de ander weer niet. terrwijl die toch echt dan jarig was.

Heeft er verder nog iemand zin om met de vba aan de gang te gaan, die er aan vast zit?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan