Dans le pays de Mani, les employés du gouvernement prennent leur retraite le dernier jour de mars suivant le jour où ils atteignent l’âge de 55 ans. (S’ils atteignent l’âge de 55 ans le 31 mars, ils prennent leur retraite le même jour.) Compte tenu de la date de naissance de l’employé, Mani peut déterminer quand il aura 55 ans, mais il ne sait pas comment calculer le 31 mars suivant.

Il existe de nombreuses façons de calculer le 31 mars après l’âge de 55 ans. La seule chose que toutes les formules ont en commun, cependant, c’est qu’elles doivent en quelque sorte déterminer si l’anniversaire d’une personne est avant le 1er avril ou non. (Ils pourraient également déterminer si l’anniversaire est avant ou le 31 mars, mais le calcul est en fait plus facile si vous comparez au 1er avril.)

En supposant que la date de naissance de l’individu se trouve dans la cellule A1, voici une formule que vous pouvez utiliser:

=IF(DATE(YEAR(A1)+55,MONTH(A1),DAY(A1))<DATE(YEAR(A1)+55,4,1), DATE(YEAR(A1)+55,3,31),DATE(YEAR(A1)+56,3,31))

Cela compare la date à laquelle la personne atteint l’âge de 55 ans à la date du 1er avril de l’année où elle atteint l’âge de 55 ans. Si la date est antérieure au 1er avril, le 31 mars de l’année où elle atteint l’âge de 55 ans est utilisé. Si la date est postérieure, le 31 mars de l’année suivante est utilisé.

Cela pourrait facilement être raccourci un peu en comparant simplement la date de naissance au 1er avril de cette année, de la manière suivante:

=IF(A1<DATE(YEAR(A1),4,1),DATE(YEAR(A1)+55,3,31),DATE(YEAR(A1)+56,3,31))

Bien sûr, vous pouvez le raccourcir encore plus en regardant simplement le mois au cours duquel l’anniversaire a lieu:

=IF(MONTH(A1)<4,DATE(YEAR(A1)+55,3,31),DATE(YEAR(A1)+56,3,31))

Une autre étape logique pour essayer de raccourcir encore plus la formule est de faire la comparaison sur le mois dans la fonction DATE elle-même, de cette manière:

=DATE(YEAR(A1)+IF(MONTH(A1)<4,55,56),3,31)

Vous pouvez raccourcir encore plus la formule en supprimant complètement l’instruction IF:

=DATE(YEAR(A1)+55+(MONTH(A1)>3),3,31)

Cette formule fonctionne car la comparaison (MONTH (A1)> 3) renvoie 0 ou 1 selon qu’elle est fausse ou vraie.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (9775) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

lien: / excelribbon-Calculating_a_Group_Retirement_Date [Calcul d’une date de retraite collective].