Aide sur fonction excel

Bonjour,
j'ai un travail a faire est je suis bloque pour le moment , si qulq'un peut m'aide ca sera gentille
donc j'ai une liste de fonctionnaire sous excel plein d'information est je dois calculer dans un premier temps l'age des fonctionnaire
donc je cherche a ajouter une colonne est execute la formule
(AUJOURDHUI()-cellule date naissance)/365

mais malheureusement la colonne qui contient la date de naissance respecte pas une format precis par exemple on trouve
1950 fes | 15/06/1967 casa |
donc je dois supprimer d'abord tous les textes qui accompagne les dates ce qui est trop dur a faire manuelement ,est convertir la format du colonne to date
mais lorsque j'essaye de faire ca les dates qui ont que l'annee seul me pose une probleme
par ex 1950 devient 03/05/1905
je veux qu'elle devient 01/01/1950

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Pour 15/06/1980 en A1
    =GAUCHE(A1;CHERCHE(" ";A1))*1
    pour
    1950 fes en A3
    =DATE(GAUCHE(A3;CHERCHE(" ";A3))*1;1;1)

    à mettre au format date

    Formule calcul de l'age quelque soit la présentation (style casa ou fes)

    =DATEDIF(SI(CHERCHE(" ";A1)=5;DATE(GAUCHE(A1;CHERCHE(" ";A1))*1;1;1);GAUCHE(A1;CHERCHE(" ";A1)));AUJOURDHUI();"y")


    fonction Datedif si excel>2007
    outils-macros complémentaires-cocher utilitaire d'analyse
    Michel
    1. bonjour merci pour la reponse les deux formules marche bien mais je prefere une seule formule qui s'applique sur les deux cas si possible
    2. c bon ca marche avec ca
      =(AUJOURDHUI()-(SI(ESTNUM(TROUVE("/";A3));GAUCHE(A3;CHERCHE(" ";A3));DATE(GAUCHE(A3;CHERCHE(" ";A3));1;1))))/365
  2. Contributeur
    bonjour,

    Il me semble bien comprendre ton problème mais lorsque l'on a saisi "n'importe quoi" dans un fichier il est toujours très difficile de réparer les élucubrations de ceux qui t'ont précédé.

    Tu peux essayer cette formule qui répare les exemples que tu donnes :

    =(AUJOURDHUI()-SI(GAUCHE(A1;TROUVE(" ";A1))*1<16000;DATEVAL("1/1/"&GAUCHE(A1;TROUVE(" ";A1)));DATEVAL(GAUCHE(A1;TROUVE(" ";A1)))))/365
    1. reste autre chose je veux faire le comptage de personne age <25 , >25 <35 etc..
      1. Contributeur
        Tu mets le résultat de la formule ci-dessus dans une colonne, G par exemple et tu fais tes comptages où tu veux :

        =NB.SI($G:$G;"<25")
        =NB.SI($G:$G;"<35")-NB.SI($G:$G;"<25")
        etc
      2. Contributeur
        Bonjour

        Concernant la formule aujourd'hui-........./365 ne tient pas compte des années bissextiles.
        Si on compte l'ancienneté, on peut avoir un décalage de 10 jours/40 ans, ce qui peut être gênant pour le calcul de primes ou de retraites d'un fonctionnaire.