Quelle fonction sous excel ?
recycler
-
Vaucluse Messages postés 27336 Date d'inscription Statut Contributeur Dernière intervention -
Vaucluse Messages postés 27336 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une feuille excel reprenant des moyennes d'échantillonages quotidiens. Ces résultats sont ensuite réutilisés pour des graphiques hebdomadaires et annuels. Cependant, l'échantillonage ne se fait pas tous les jours et je me retrouve ainsi avec des #DIV!0 dans la case ou la moyenne est calculée.
Ma question est donc, comment ou quelle fonction utiliser de façon à ce qu'il ne me calcule une moyenne en utilisant les cases uniquement si elles sont valides ?
J'ai déjà essayé avec différents "si différent de zéro" mais sans succès du fait que ce n'est pas zéro, c'est juste qu'il n'y a pas de valeurs.
Auriez-vous une idée pour résoudre ce soucis ?
Merci d'avance
J'ai une feuille excel reprenant des moyennes d'échantillonages quotidiens. Ces résultats sont ensuite réutilisés pour des graphiques hebdomadaires et annuels. Cependant, l'échantillonage ne se fait pas tous les jours et je me retrouve ainsi avec des #DIV!0 dans la case ou la moyenne est calculée.
Ma question est donc, comment ou quelle fonction utiliser de façon à ce qu'il ne me calcule une moyenne en utilisant les cases uniquement si elles sont valides ?
J'ai déjà essayé avec différents "si différent de zéro" mais sans succès du fait que ce n'est pas zéro, c'est juste qu'il n'y a pas de valeurs.
Auriez-vous une idée pour résoudre ce soucis ?
Merci d'avance
A voir également:
- Quelle fonction sous excel ?
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Fonction moyenne excel - Guide
- Déplacer colonne excel - Guide
2 réponses
Bonjour,
Prenons pour exemple tes valeurs sont dans les cases A1 à A5 et tu veux mettre ta moyenne en A6 sauf si toutes les autres cellules sont vides.
Tu peux écrire :
=si(A1:A5<>"",moyenne(A1:A5),0)
Ca ne marche pas me diras-tu ? Et bien si ! Mais pour que ça marche il ne vaut pas faire Entrée une fois que tu as tapé ta formule mais Maj + Ctrl + Entrée. C'est une formule matricielle.
Si tu connais les formules matricielles ça ne devrait pas être un soucis, sinon, tu peux te contenter de savoir ça : il suffit de faire Maj + Ctrl + Entrée au lieu d'Entrée pour que ça marche. En cliquant sur la case tu devrai voir des crochets apparaître dans ta barre de formule comme ceci:
{=SI(A1:A5<>"",MOYENNE(A1:A5),0)}
Pour plus d'info sur les formules matricielles (très pratiques!), tu peux aller voir ici:
http://monsieur-excel.blogspot.com/2006/01/formule-matricielle-en-cellule.html
Cordialement,
Tobar.
Prenons pour exemple tes valeurs sont dans les cases A1 à A5 et tu veux mettre ta moyenne en A6 sauf si toutes les autres cellules sont vides.
Tu peux écrire :
=si(A1:A5<>"",moyenne(A1:A5),0)
Ca ne marche pas me diras-tu ? Et bien si ! Mais pour que ça marche il ne vaut pas faire Entrée une fois que tu as tapé ta formule mais Maj + Ctrl + Entrée. C'est une formule matricielle.
Si tu connais les formules matricielles ça ne devrait pas être un soucis, sinon, tu peux te contenter de savoir ça : il suffit de faire Maj + Ctrl + Entrée au lieu d'Entrée pour que ça marche. En cliquant sur la case tu devrai voir des crochets apparaître dans ta barre de formule comme ceci:
{=SI(A1:A5<>"",MOYENNE(A1:A5),0)}
Pour plus d'info sur les formules matricielles (très pratiques!), tu peux aller voir ici:
http://monsieur-excel.blogspot.com/2006/01/formule-matricielle-en-cellule.html
Cordialement,
Tobar.
Bonjour
Tobar: je viens de tester en matricielle, la formule renvoi #DIV0
le plus simple semble de remplacer le résultat #DIV0 par 0.
pour cela selon la formule que vous avez:
=SI(Diviseur=0;0;Division)
vous pourrez ensuite utiliser NB.SI comme vous l'entendez, soit:
=SOMME(Champ)/NB.SI(Champ;"<>""")
ou utiliser la formule:
=MOYENNE.SI(Champ;"<>""")
mais je crois qu'elle ne fonctionne qu'à partir d'excel 2007
Note les calculs incluant des cellules "" ne fonctionnent pas toujours!vous pouvez remplacer le résultat de la condition , soit "" par 0
Crdlmnt
Tobar: je viens de tester en matricielle, la formule renvoi #DIV0
le plus simple semble de remplacer le résultat #DIV0 par 0.
pour cela selon la formule que vous avez:
=SI(Diviseur=0;0;Division)
vous pourrez ensuite utiliser NB.SI comme vous l'entendez, soit:
=SOMME(Champ)/NB.SI(Champ;"<>""")
ou utiliser la formule:
=MOYENNE.SI(Champ;"<>""")
mais je crois qu'elle ne fonctionne qu'à partir d'excel 2007
Note les calculs incluant des cellules "" ne fonctionnent pas toujours!vous pouvez remplacer le résultat de la condition , soit "" par 0
Crdlmnt