Calculer age en fonction du mois

Bonjour,

Je travaille sur une base des données de 35k lignes. Je dois calculer l'âge et l'ancienneté de chaque salarié en fonction du mois. Jusqu'à maintenant j'ai trié par mois et calculé la datedif ( date de naissance/date d'ancienneté ; dernier jour du mois;"y"), mais c'est une perte du temps énorme surtout en décembre.

J'ai essayé d'écrire une formule SI mais je n'arrive pas trop à avoir de résultat.

Exemple : salarié né le 03/03/2000 ; âge affiché pour le mois de janvier (au 31/01/2018) : 17 ans, pour le mois de février (au 28/02/2018) : 17 ans et pour le mois de mars (au 31/03/2018) : 18 ans, etc.

Est possible de faire une formule qui va mettre à jour toutes les cellules, s'il vous plaît ?

Merci et bonne journée !

Bonjour,

C'est sûrement possible, mais pourrais-tu nous fournir un fichier de test pour que l'on puisse te répondre avec un maximum de précision ?

Bonjour,

utilise DATEDIF

14datedif.xlsx (8.76 Ko)

Bonjour à tous

... j'ai trié par mois et calculé la datedif ( date de naissance/date d'ancienneté ; dernier jour du mois;"y"), mais c'est une perte du temps énorme surtout en décembre.

Inutile de trier et DATEDIF(date de naissance;FIN.MOIS(AUJOURDHUI();0);"y")

Bonjour,

si tu as déjà mis datedif il est où le problème ?

Et pourquoi la perte de temps ?

eric

Re-bonjour,

1. je ne peut pas faire datedif avec AUJOURHUI car chaque mois je doit traiter plusieurs mois et donc la date finale est différente.

2. C'est une perte du temps car je dois filtrer par mois concerné et à chaque fois faire la nouvelle formule datedif

Merci pour vos réponses

ci-joint quelques lignes de mon fichier

18mm.xlsx (14.72 Ko)

RE

si tu précisais justement de quel mois il s'agit on gagnerait du temps !

Si c'est période, remplace AUJOURDHUI() par H2 dans ma formule

Chaque mois.

je voudrais avoir l'âge du salarié en janvier, février, mars, etc. vu que ma requête traite plusieurs mois.

comme dans l'exemple : salarié né le 03/03/2000 ; âge affiché pour le mois de janvier (au 31/01/2018) : 17 ans, pour le mois de février (au 28/02/2018) : 17 ans et pour le mois de mars (au 31/03/2018) : 18 ans, etc.

en fait je sais pas si ma question est assez claire

Bonjour,

y a-t-il un rapport entre ton calcul et la période renseignée, car si c'est le cas on peut utiliser la formule suivante :

=FIN.MOIS(B1,0)

où B1 est ta date dont tu veux connaitre la valeur de fin de mois, et 0 le nombre de mois de décalage que tu veux appliquer, ici 0 car on veut rester sur le même mois que celui en cours.

RE

Chaque mois.

je voudrais avoir l'âge du salarié en janvier, février, mars, etc. vu que ma requête traite plusieurs mois.

comme dans l'exemple : salarié né le 03/03/2000 ; âge affiché pour le mois de janvier (au 31/01/2018) : 17 ans, pour le mois de février (au 28/02/2018) : 17 ans et pour le mois de mars (au 31/03/2018) : 18 ans, etc.

en fait je sais pas si ma question est assez claire

Non ce n'est pas clair : quelle est l'info qui permet de savoir que c’est tel ou tel mois si ce n'est pas période ?

C'est la colonne H "période"

RE

C'est la colonne H "période"

Donc comme déjà dit il y 25 minutes

"Si c'est période, remplace AUJOURDHUI() par H2 dans ma formule"

=DATEDIF(K2;FIN.MOIS(H2;0);"y")

Et pour ceux qui n'ont pas DATEDIF :

=ARRONDI.INF(FRACTION.ANNEE(A2,FIN.MOIS(H2,0)),0)

Oooo ! ca marche

Merci beaucoup. Bonne journée à vous !

RE

Et pour ceux qui n'ont pas DATEDIF

Tout le monde l'a mais c'est une fonction cachée donc pas dans la liste mais présente...

D'accord, je me disais aussi que c'était bizarre que ma version calcule quand même...

C'est comme LIRECELLULE alors...

Pas vraiment

LIRECELLULE c'est du excel4 obsolète

DATEDIF c'est une fonction "cachée" d'excel

Bonjour Steelson,

Ouh ça m'a l'air d'être un bazar tout ça...

Les fonctions secrètes et autres choses cachées c'est bien uniquement dans les jeux-vidéo... par sur un outil utilisé tous les jours ou toutes les semaines... Tu as une idée de pourquoi elle est cachée, et si je dois m'attendre à une autre famille de fonction secrète sur ce logiciel ?

RE

Les fonctions secrètes et autres choses cachées c'est bien uniquement dans les jeux-vidéo... par sur un outil utilisé tous les jours ou toutes les semaines... Tu as une idée de pourquoi elle est cachée, et si je dois m'attendre à une autre famille de fonction secrète sur ce logiciel ?

Parce que MS l'a ajouté pour être compatible avec Lotus 123 qui avait tout le marché à la sortie d'Excel mais n'a pas voulu que cela se voit trop...

A ma connaissance pas d'autre mais il y a, comme dans un jeu, des easter eggs à trouver...

Pour la petite histoire il y a aussi une fonction non cachée pour convertir un nombre en baht thailandais parce qu'une équipe développement se faisait livrer ses repas par un resto thaï

Bonjour Aleksandra,

Voyez si la solution proposée dans le fichier joint peut vous aider

=SI($D2=$D3;"";ENT(DATEDIF($K2;FIN.MOIS(DATE(2018;M$1;1);0);"m")/12))
9aleksandra-mm.xlsx (17.96 Ko)
Rechercher des sujets similaires à "calculer age fonction mois"