Faire la moyenne de données à une date spécifiques

Fermé
Ltniknitro Messages postés 2 Date d'inscription mercredi 16 avril 2014 Statut Membre Dernière intervention 14 mai 2014 - Modifié par Ltniknitro le 16/04/2014 à 18:08
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 16 avril 2014 à 19:21
Bonjour à tous,

Je m'explique... J'ai un un tableau de données de précipitations sur 20 ans qui sont rangées par stations et par date (style: 01/01/1980). Le problème c'est que certaines de mes stations n'ont pas enregistrées de données pour certains jours. Je me retrouve donc avec des cellules vides dans mon tableau de données.

Ce que j'aimerai faire c'est remplir ces cellules vides en calculant la moyenne des précipitations des autres années d'un jour précis.

Je donne un exemple, il me manque la donnée précipitation du 01/01/1980. Cependant j'ai les données précipitations du 01/01 pour toutes les autres années. Donc pour comblée ce vide je voudrais calculer la moyenne des précipitations entre l'année 01/01/1981 et 01/01/2001 que je mettrais dans la cellule correspondante à l'année 1980. Et je veux que ça se fasse de façon automatique car je dois l'appliquer à d'autres jours.

Si quelqu'un(s) peut m'aider ce serait tout simplement génial.

Cordialement
Quentin

1 réponse

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 414
16 avril 2014 à 19:21
Bonsoir

si vos dates sont en A et vos résultat en B, de ligne 1 à ligne 100 à adapter
pour les cellules B vides, vous pouvez utiliser si la date est en 2A, par exemple pour ligne 10

en C10:

=SOMMEPROD((JOUR(A1:A100)=JOUR(A10))*(MOIS(B1:B100)=MOIS(A10))*(B1:B100))/SOMMEPROD((JOUR(A1:A100)=JOUR(A10))*(MOIS(B1:B100)=MOIS(A10))*(B1:B100<>""))
vous donnera la moyenne de toutes les cellules B qui contiennent une valeur avec le jour et le mois dans la date en A

N+ de lignes obligatoires dans les champs SOMMEPROD (A1:A100 OK mais A:A ne fonctionne pas)

crdlmnt


0