Dans les prochains 6 mois (Excel)

Sunlou -  
 Sunlou -
Bonjour,

Je dois calculer le nombre de contrats venant à échéance dans moins de 6 mois, de 6 mois à un an, l'an prochain etc...

j'ai une liste avec environ 400 dates de fin de contrat.

Je présume que je devrais comparer la date de fin à ''aujourd'hui'' et ensuite faire un compte par critère.

Mais je n'y arrive pas...

Merci!!

4 réponses

tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour,
Mettre les dates de butées dans des cellules libres, exemple:
H1=DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+6;JOUR(AUJOURDHUI()))
I1=DATE(ANNEE(AUJOURDHUI())+1;MOIS(AUJOURDHUI());JOUR(AUJOURDHUI()))
etc
avec les dates de fin de contrat en B2:B20 compter les cellules répondant aux critères avec NB.SI
=NB.SI(B2:B20;"<"&H1)
=NB.SI(B2:B20;"<="&I1)-NB.SI(B2:B20;"<"&H1)
=NB.SI(B2:B20;">="&I1)
etc; ajuster la champ au besoin, mais attention à la syntaxe du critère.
Revenez en cas de problème.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
=SBonjour
le plus (mais on peut approfondir) est de rester approximatif en travaillant sur le nombre de jour:1 an 365 jours
1 mois=30 jours

les contrats à échéance dans 6 mois (180 jours)
SOMMEPROD((champ<AUJOURDHUI()+180)*1)
et dans un an:
SOMMEPROD((CHAMP<AUJOURDHUI()+365)*1)
pour être plus précis, ,il faut prendre en compte les changements d'années
vous pouvez toujours travailler avec deux colonnes de renvoi masquées ou sur une autre feuille.:
pour les mois:
=SI(cellule date<AUJOURDHUI();0;SI(DATEDIF(AUJOURDHUI();cellule date;"m")<6;1;0))
et faire le total des 1 de la colonne
pour les années , même formule avec "y" à la place de "m"

Pour traiter sur une seule colonne vous pouvez intègrer les deux codes conditions (mois et année dans la même formule), renvoyer un code type de chaque condition par exemple M pour mois et A pour année et compter dans cette colonne le nombre e code de chaque catègorie.
ce qui donne
=SI(cellule date<AUJOURDHUI();"";SI(DATEDIF(AUJOURDHUI();cellule date;"m")<6;"M";SI(DATEDIF(AUJOURDHUI();cellule date;"y")<1;"A";"")))

Crdlmnt




Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
Sunlou
 
Merci,

La réponse des jours simplifié marche très bien et est simple. par contre, lels cases vides me renvoient un compte de +1.

Cette liste sera populée à mesure et des cases reste vides jusqu'a la connaissance de la date.

comment donc éviter le +1 a chaque case vide.....
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
S'il s'agit de la formule SOMMEPROD pour éliminer le problème:
=SOMMEPROD((champ<AUJOURDHUI()+180)*(champ>0)*(champ>AUJOURDHUI())
car sinon vous allez aussi compter les dates déjà passées.
crdlmnt
ps: vous pouvez aussi dans le dernier item placer >+ au lieu de > pour intégrer le jour en cours.
0
Sunlou
 
Le tout fonctionne,

Merci de la réponse rapide!!!

Lou
0