=si(esterreur(moyenne(si

Mariesurexcel

XLDnaute Nouveau
Bonjour à tous !

J’ai un réel défi à vous lancer…

J’ai une base de données 2011 appelée Data2011, une base de donnée 2012 appelée Data2012 et un onglet Results où je fais mes calculs dans un tableau.

Je veux arriver à une moyenne de la colonne F (2011 puis 2012) en fonction du mois indiqué dans le tableau et en fonction de la lettre critère en colonne A de l’onglet Results.

Le problème est que j’obtiens bien des résultats avec la formule que j’ai faite, mais ils sont faux… Lorsque je fais de vérifications en calculant moi-même la moyenne je ne trouve pas du tout la même chose…

Je n’en suis absolument pas sûre mais je me demande si ce bug n’est pas dû au fait qu’excel 2003 refuse de faire une moyenne avec autant de nombre à prendre en compte.

Qu’en pensez-vous… ?
Vous trouverez tout ça en PJ.

Merci d’avance de me sortir de là !

A bientôt !
Marie
 

Pièces jointes

  • Forum Help.zip
    249.1 KB · Affichages: 40
  • Forum Help.zip
    249.1 KB · Affichages: 40
  • Forum Help.zip
    249.1 KB · Affichages: 40

CISCO

XLDnaute Barbatruc
Re : =si(esterreur(moyenne(si

Bonsoir

Pourquoi dis tu que ce n'est pas bon : En réduisant ton fichier à quelques lignes pour pouvoir vérifier facilement le résultat, je ne vois pas d'erreur en B4, B5 et B6 ?

@ plus
 

Pièces jointes

  • Forum Help bis.xls
    615 KB · Affichages: 91

R@chid

XLDnaute Barbatruc
Re : =si(esterreur(moyenne(si

Bonsoir @ tous,
Essayer en B4 avec :
Code:
=SI($A4<>"";SI(SOMME((INDIRECT("Data"&B$2&"!A2:A65536")=Results!$A4)*(MOIS(INDIRECT("Data"&B$2&"!C2:C65536"))=ENT((COLONNES($B:B)-1)/2)+1))=0;0;MOYENNE(SI((INDIRECT("Data"&B$2&"!A2:A65536")=Results!$A4)*(MOIS(INDIRECT("Data"&B$2&"!C2:C65536"))=ENT((COLONNES($B:B)-1)/2)+1);INDIRECT("Data"&B$2&"!F2:F65536"))));"")
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas et vers la droite
Amicalement
 
Dernière édition:

Misange

XLDnaute Barbatruc
Re : =si(esterreur(moyenne(si

Bonjour

Avec cette formule en B4 (validation normale), je trouve à priori le bon résultat (2.68)
=SOMMEPROD((Data2011!A2:A23130=$A4)*(MOIS(Data2011!B2:B23130)=MOIS(B$2))*Data2011!F2:F23130)/SOMMEPROD((Data2011!A2:A23130=$A4)*(MOIS(Data2011!B2:B23130)=MOIS(B$2)))

J'ai juste changé le format des dates dans le tableau résultat : en B2 au lieu d'écrire 2011 tu écris 1/1/2011 et tu mets un format personnalisé aaaa pour ne voir apparaitre que l'année. Idem pour toutes les lignes de ce tableau en adaptant pour le moi.
 

CISCO

XLDnaute Barbatruc
Re : =si(esterreur(moyenne(si

Bonjour à tous

Il y a peut être une erreur de calcul, mais je ne vois pas où.

Histoire de vérifier le résultat, j'ai fait trois tests :
* dans le fichier ter, j'ai filtré la feuille 2011 sur la colonne A et la colonne C, histoire de mettre tous les A ensembles. J'ai ensuite calculé la moyenne des A de janvier en I18, ce qui donne 2,9638..., ce que donne aussi ta formule en matriciel en Results!B4.
* dans le fichier quatre, j'ai changé le nombre attribué à chaque ligne, en écrivant en colonne F =CODE($A4)*MOIS($C4), ainsi tous les A de janvier se voient attribuer 65, de février 130, de mars 195 et ainsi de suite. Ainsi, il est plus facile de calculer les moyennes à trouver. A première vue, je ne vois pas de problème sur la feuille results.
* dans le fichier cinq, j'ai mis en évidence les lignes contenant le A et le mois de janvier en colonne C. J'ai ensuite calculé la moyenne en sélectionnant à la main chacune des valeurs de la colonne F. Cela donne 2,8875, comme ta formule en matriciel en results!B4.

Conclusion : Qu'est-ce qui ne fonctionne pas correctement ?

Ceci dit, tu peux effectivement reprendre ta formule, en utilisant SOMMEPROD comme le propose Misange, et donc sans validation matricielle avec ctrl+maj+entrer.

@ plus
 

Pièces jointes

  • Forum Help ter.zip
    220.7 KB · Affichages: 28
  • Forum Help quatre.zip
    914.4 KB · Affichages: 32
  • Forum Help cinq.zip
    255.7 KB · Affichages: 28
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : =si(esterreur(moyenne(si

Bonjour @ tous,
Histoire de vérifier le résultat, j'ai fait trois tests :
* dans le fichier ter, j'ai filtré la feuille 2011 sur la colonne A et la colonne C, histoire de mettre tous les A ensembles. J'ai ensuite calculé la moyenne des A de janvier en I18, ce qui donne 2,9638..., ce que donne aussi ta formule en matriciel en Results!B4.
* dans le fichier quatre, j'ai changé le nombre attribué à chaque ligne, en écrivant en colonne F =CODE($A4)*MOIS($C4), ainsi tous les A de janvier se voient attribuer 65, de février 130, de mars 195 et ainsi de suite. Ainsi, il est plus facile de cacluler les moyennes à trouver. A première vue, je ne vois pas de problème sur la feuille results.
* dans le fichier cinq, j'ai mis en évidence les lignes contenant le A et le mois de janvier en colonne C. J'ai ensuite calculé la moyenne en sélectionnant à la main chacune des valeurs de la colonne F. Cela donne 2,8875, comme ta formule en matricielle en results!B4.
Moi aussi je me suis cassé la tête pour trouver la source du problème,
je ne sais pas vraiment où est la source de l'erreur, je vais essayer de rechercher encore
Amicalement
 

Discussions similaires

Réponses
18
Affichages
733
Réponses
10
Affichages
611

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 164
Messages
2 085 877
Membres
103 009
dernier inscrit
dede972