Aide sur fonction excel

jalalnet Messages postés 350 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    0
    1. jalalnet Messages postés 350 Date d'inscription   Statut Membre Dernière intervention   10
       
      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
      0
    2. jalalnet Messages postés 350 Date d'inscription   Statut Membre Dernière intervention   10
       
      c bon ca marche avec ca
      =(AUJOURDHUI()-(SI(ESTNUM(TROUVE("/";A3));GAUCHE(A3;CHERCHE(" ";A3));DATE(GAUCHE(A3;CHERCHE(" ";A3));1;1))))/365
      0
  2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
    0
  3. jalalnet Messages postés 350 Date d'inscription   Statut Membre Dernière intervention   10
     
    reste autre chose je veux faire le comptage de personne age <25 , >25 <35 etc..
    0
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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.
      0