EQUIV ne fonctionne plus au bout de quelques cellules
Bonjour,
Je souhaite déterminer les moyennes mensuelles de divers paramètres climatiques. Toutefois, les données ne sont pas continues, pour les dates notamment. Par exemple, j'ai les données du 1er février 2000, puis du 2, puis du 4... Les chroniques s'étendant sur une quinzaine d'années à chaque fois et ayant une dizaine de fichiers, j'ai donc cherché à déterminer automatiquement le début et la fin de chaque mois pour les réutiliser dans les moyennes.
J'ai utilisé pour cela les fonctions EQUIV, INDIRECT et ADRESSE. A part la première ligne "d'amorçage", et après avoir converti les dates en texte en ne gardant que le numéro de mois et l'année, ça fonctionne ainsi, en 2 colonnes : la cellule de la colonne de gauche utilise le résultat de la cellule dans la colonne de droite. Avec EQUIV et INDIRECT elle trouve l'avant-dernière ligne du mois correspondant à la colonne de droite qui elle détermine la première ligne du mois en question en utilisant ADRESSE. La cellule en-dessous à droite utilise le résultat de la cellule en haut à gauche pour donner la première ligne du mois suivant. La cellule à sa gauche en détermine l'avant-dernière ligne et ainsi de suite.
Tout fonctionne bien pendant 11 mois mais arrivé à décembre 2000, je dois changer l'étendue du "tableau de recherche" dans la fonction EQUIV, sinon j'obtiens une valeur incohérente, et pour janvier 2001 ça ne fonctionne plus du tout. Pour les mois suivants, même en tentant de "réamorcer" à la main la boucle, ça ne fonctionne pas. Ce que je ne comprends pas, c'est pourquoi ça ne fonctionne pas à ces lignes en particulier. Les dates sont générées automatiquement, la conversion en texte générée par remplissage automatique, rien n'indique un quelconque changement de formule ou de format de cellule.
Est-ce qu'il y a une erreur de ma part ? Est-ce un bug ? Merci de vos avis !
après avoir converti les dates en texte
Mauvaise idée !
Dis plutôt exactement ce que tu veux obtenir comme résultat par formule, et avec un fichier adéquat !
Cordialement.
Bonjour !
Au fond, je voudrais avoir le numéro de la première et de la dernière ligne de chaque mois.
Après de longues recherches et de nombreux essais, j'utilise par exemple =EQUIV(INDIRECT(P7);N$2:N$500;1). En P7 est la première ligne du mois au format texte (ici, "06 2000"). Il va donc chercher, grâce à "1" en dernier argument, la dernière ligne où apparaît "06 2000" entre les cellules N2 et N500. De ce que j'ai compris, EQUIV ne comprend pas les dates. En tout cas, je n'ai pas réussi à faire fonctionner la formule en utilisant directement les dates au format date.
Ensuite, avec la formule =ADRESSE(O7+2;14), je cherche à obtenir la première ligne du mois suivant. Comme mon tableau de recherche commence à N2 et pas N1, EQUIV me donne bien la dernière ligne en adresse relative, mais l'avant-dernière ligne en adresse "absolue". J'ajoute donc 2 pour avoir la ligne du premier mois suivant et la colonne 14, soit la colonne N, celle donnant l'avant-dernière ligne du mois (avec EQUIV et INDIRECT).
Je ne vois pas trop quel fichier "adéquat" il faudrait. Je joins la chronique complète avec mes bidouillages.
Je crois que tu ne comprends pas !
Je doute que trouver des numéros de lignes ou des références de cellules soient le résultat final à obtenir !
Ah, mon objectif final est de calculer les moyennes mensuelles de précipitation, de température moyenne, maximale et minimale sur toute l'étendue de la chronique, en tenant compte de l'incomplétude des données et des dates.
Je joins un exemple menant au calcul de la moyenne des températures maximales pour le mois de mars 2000. Étendre le raisonnement aux autres mois et aux autres variables me semble facile... Il faudra bien sûr enlever les tous les #N/A par la suite pour que la moyenne puisse se calculer.
Un calcul de moyenne conditionnelle donc !
Exemple pour la température maximale en H :
=MOYENNE(SI(MOIS($E$2:$E$5043)=MOIS(E2);$H$2:$H$5043))La formule est matriciellel (à valider par Ctrl+Maj+Entrée)
Pareil pour les autres. Tu peux débarrasser ta panoplie...
Je conseillerais toutefoir de faire un tableau de tes moyennes, avec le mois cherché (sous forme date) en première colonne. Cela t'éviterait 5000 lignes de formules sur 5 ou 6 colonnes !
Cordialement.
Super !
Inclure des conditions à des fonctions simples plutôt que de chercher des fonctions plus complexes, c'est un raisonnement intéressant ! Merci ! Je prends note des conseils !
Même si mon problème de fonction qui s'arrête brutalement de fonctionner restera probablement un mystère...
Bonne journée/soirée.