Excel: alert zowel bij verjaardag dichtbij als vandaag

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Spurrea
  • Registratie: Augustus 2016
  • Laatst online: 07-10 20:30
Mijn vraag
Ik heb een kleine database in Excel 2016. Oa. naam, geboortedatum, leeftijd in jaren, maanden en dagen zijn er onderdeel van. Op basis van die data wil ik excel laten uitrekenen hoeveel dagen het no duurt voordat iemand jarig is.

Relevante software en hardware die ik gebruik
Excel 2016

Wat ik al gevonden of geprobeerd heb
=ALS(EN([@[aantal maanden]]=11;[@[aantal dagen]]>17);"Birthday within 2 weeks";"-")

Op zich werkt dit wel, maar ik wil in dezelfde formule ook inbouwen dat het iemands verjaardag is. Het liefst zonder extra kolommen erbij te moeten zetten, maar als dat wel moet, hoor ik het graag.

Beste antwoord (via Spurrea op 19-05-2019 21:48)


  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Dit is de vertaalde variant van de formule van @Dido
code:
1
=ALS(DATUM(JAAR(VANDAAG());MAAND(A1);DAG(A1))-VANDAAG()>0;DATUM(JAAR(VANDAAG());MAAND(A1);DAG(A1))-VANDAAG();DATUM(JAAR(VANDAAG())+1;MAAND(A1);DAG(A1))-VANDAAG())
En bij mij doet die het.

Ik zie dat jij in de vertaling DATE als DAG vertaald hebt, maar dat moet DATUM zijn. DAY word als DAG vertaald.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Roozzz
  • Registratie: Juni 2011
  • Laatst online: 16:09

Roozzz

Plus ultra

Als je er domweg een 2e ALS functie in nest dan kan dit toch probleemloos? Of mis ik iets?

=IF(aantal dagen > 17; Bijna jarig; IF(aantal dagen = 0; Jarig; "-"))

niet exact met jouw waarden, maar you get the gist

If you can see, look. If you can look, observe


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 16:12

Dido

heforshe

Je houdt geen rekening met verschillende lengte van maanden, of met schrikkeljaren. Waarom bereken je niet simpelweg het aantal dagen dat het nog duurt voordat iemand jarig is?

Met de geboortedatum in A1 kan dat bijvoorbeeld zo:

code:
1
=IF(DATE(YEAR(TODAY());MONTH(A1); DAY(A1))-TODAY()>0; DATE(YEAR(TODAY());MONTH(A1); DAY(A1))-TODAY(); DATE(YEAR(TODAY())+1;MONTH(A1); DAY(A1))-TODAY())


Die waarde kun je vervolgens in een IF gebruiken hoe je wilt.

[ Voor 6% gewijzigd door Dido op 18-05-2019 14:21 ]

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • Spurrea
  • Registratie: Augustus 2016
  • Laatst online: 07-10 20:30
=als(dag(jaar(vandaag());maand([@date]);dag([@date])-vandaag()>0;dag(jaar(vandaag());maand([@date]);dag([@date]))-vandaag();dag(jaar(vandaag))+1;maand([@date]);dag([@date]))-vandaag()
"teveel argumenten" geeft ie als foutmelding

En de eerste oplossing hield geen rekening meer met de maanden. Maar met de formule die ik al had en een losse 2e ALS-formule werkte het wel.

=ALS(EN([@[aantal maanden]]=11;[@[aantal dagen]]>=17);"Birthday within 2 weeks";ALS([@[aantal dagen]]=0;"Happy birthday!";"-"))

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

De vraag gaat niet over Windows dus ik verplaats het topic van Windows Clients naar CSA.

Ook pas ik de titel wat aan, er zijn meer topics waar ooit een formule werd gezocht ;)

Edit: en originele formule uitbreiden met een ..of maanden + dagen = 0 dan Feli.

[ Voor 51% gewijzigd door F_J_K op 18-05-2019 22:20 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Spurrea schreef op zaterdag 18 mei 2019 @ 14:04:
Ik heb een kleine database in Excel 2016. Oa. naam, geboortedatum, leeftijd in jaren, maanden en dagen zijn er onderdeel van. Op basis van die data wil ik excel laten uitrekenen hoeveel dagen het no duurt voordat iemand jarig is.
Voor zulk soort berekeningen heeft Excel de functie Datumverschil (Datedif). Zie de helpfile van Excel of deze webpagina van Microsoft: Uitleg Datumverschil (maar lees ook de tekst over de betrouwbaarheid van die functie).

[ Voor 5% gewijzigd door dix-neuf op 19-05-2019 09:38 ]


Acties:
  • 0 Henk 'm!

  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 17:42

Reinier

\o/

Waarom sla je de leeftijd eigenlijk in je database op? Ga je dat aantal dagen elke dag met 1 ophogen?

Acties:
  • 0 Henk 'm!

  • tritimee
  • Registratie: December 2006
  • Laatst online: 15:41
Waarom zo moeilijk?

Als je de verjaardagsdatum - today() doet, krijg je het aantal dagen voordat iemand jarig is. Als je dan een als functie er overheen gooit met als(resultaat) < 15, bijna jarig, nog lang niet jarig)

Acties:
  • 0 Henk 'm!

  • Spurrea
  • Registratie: Augustus 2016
  • Laatst online: 07-10 20:30
Het lukte mij niet om alleen de verjaardsdatum met een formule uit de geboortedatum te filteren.

Acties:
  • 0 Henk 'm!

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
A1 is de geboortedatum: (Nederlandse excel)
code:
1
2
=DATUM(JAAR(VANDAAG());MAAND(A1);DAG(A1))
=DATUMVERSCHIL(VANDAAG();B1;"D")

[ Voor 15% gewijzigd door kluyze op 19-05-2019 12:30 ]


Acties:
  • 0 Henk 'm!

  • Spurrea
  • Registratie: Augustus 2016
  • Laatst online: 07-10 20:30
Vergeef mij mijn stupiditeit, maar waar plaats je dan die 2e formule? Dit lijkt me 2 formules in 2 aparte cellen, maar dan moeten er nog steeds aparte kolommen/cellen gebruikt worden, en dat wil ik liever niet.

Acties:
  • +1 Henk 'm!

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Je kan dit ook als 1 formule schrijven, dan zet je de 1ste regel op de plaats van B1 in de 2de regel. Dit geeft dan enkel het aantal dagen tot een verjaardag. Enige tekst moet je er nog zelf rond zetten. Ook houd dit geen rekening met een verjaardag in het verleden.

Denk er trouwens ook aan dat je kolommen kan verbergen in excel, dus als het enkel is om niet meerdere kolommen te zien, zou dat ook een oplossing kunnen zijn.

@Lustucru (onder): dat is mogelijk, ik reageerde eigenlijk op de reactie:
Het lukte mij niet om alleen de verjaardsdatum met een formule uit de geboortedatum te filteren.
Met dan als extraatje de formule om het aantal dagen vanaf die verjaardagsdatum te berekenen.

[ Voor 23% gewijzigd door kluyze op 19-05-2019 13:46 ]


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

kluyze schreef op zondag 19 mei 2019 @ 13:16:
Je kan dit ook als 1 formule schrijven, dan zet je de 1ste regel op de plaats van B1 in de 2de regel. Dit geeft dan enkel het aantal dagen tot een verjaardag. Enige tekst moet je er nog zelf rond zetten. Ook houd dit geen rekening met een verjaardag in het verleden.
Dat is precies wat de oplossing van @Dido allemaal wél doet. :)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • Spurrea
  • Registratie: Augustus 2016
  • Laatst online: 07-10 20:30
Die gaf juist als foutmelding “teveel argumenten” :-)

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Dit is de vertaalde variant van de formule van @Dido
code:
1
=ALS(DATUM(JAAR(VANDAAG());MAAND(A1);DAG(A1))-VANDAAG()>0;DATUM(JAAR(VANDAAG());MAAND(A1);DAG(A1))-VANDAAG();DATUM(JAAR(VANDAAG())+1;MAAND(A1);DAG(A1))-VANDAAG())
En bij mij doet die het.

Ik zie dat jij in de vertaling DATE als DAG vertaald hebt, maar dat moet DATUM zijn. DAY word als DAG vertaald.

Acties:
  • 0 Henk 'm!

  • Spurrea
  • Registratie: Augustus 2016
  • Laatst online: 07-10 20:30
Heb m nu. Netjes "dagen tot verjaardag" in een verborgen kolom.En daarachter de kolom "binnen 2 weken/verjaardag"
Pagina: 1