Prise en compte condition de cellules dans formule moyenne

Résolu/Fermé
Bastien M. - 7 juin 2013 à 09:30
 Bastien M. - 7 juin 2013 à 10:40
Bonjour à tous,


je souhaiterais savoir comment ne pas prendre en compte des cellules dans une formule si celles-ci sont vide sous EXCEL 2013.


Je m'explique :


Le calcul de moyenne avec des notes coefficientées se fait comme cela :
A1 = (B1*C1 + B2*C2 + B3*C3 + B4*C4) / SOMME(C1:C4)


Or, si on laisse vide des cellules parce que toutes les notes ne sont pas encore rentré, la moyenne chute considérablement


Voici la solution que j'ai trouvé pour une moyenne de deux notes coefficientées :


A10 = SI(ET(B10<>"";B11<>"");B10*C10+B11*C11)/(C10+C11);SI(ET(B10<>"";B11="");B10;SI(ET(B10="";B11<>"");B11;"")))

PS : les B11="" peuvent être remplacé par ESTVIDE(B11), mais là n'est pas la question.


En français ça donne :
### Premier cas, les deux notes sont renseignées (les deux cases sont différentes de vide), alors on calcul la moyenne normalement (B10*C10+B11*C11)/(C10+C11).
### Deuxième cas, la deuxième note B11 n'est pas renseigné ET la première B10 l'est, alors la moyenne est B10 (B10*C10 / C10 = B10, j'ai raccourcis le calcul)
### Troisième cas, et c'est l'inverse du deuxième, la première note n'est pas renseigné ET la deuxième l'est, alors la moyenne est B11.


Cette fonction marche super bien, elle fait exactement ce que je désire faire.
Le problème est que je dois faire une moyenne avec 4 notes coefficientées, et donc j'ai une dizaines de cas possible... J'ai pas trop envie de me taper la fonction des 10 cas...


Je souhaiterai donc savoir si quelqu'un avait une solution à m'apporter.


Je vous remercie tous par avance.


Bastien M.


PS2 : Désolé pour les sauts de lignes imposants, c'est le seul moyen que j'ai trouvé de vous aérer mon texte puisque CCM ne garde pas la mise en forme originale.
A voir également:

1 réponse

NeoTsu Messages postés 58 Date d'inscription jeudi 6 juin 2013 Statut Membre Dernière intervention 19 juin 2013 3
Modifié par NeoTsu le 7/06/2013 à 10:03
Bonjour,

Le plus simple serait de créer des colonnes de calcul préalable:

D1: =B1*C1
D2: =B2*C2
D3: =B3*C3
D4: =B4*C4

E1: =somme.si(B1:B4;"<>0";C1:C4)

A1: =somme(D1:D4)/E1



En gros, en E1, il va uniquement prendre les coef ou les notes sont renseignées, enlevant tous problèmes de coef en trop

Il n'y a plus qu'a masquer les colonnes D et E. Normalement ça devrait fonctionner.
0
NeoTsu Messages postés 58 Date d'inscription jeudi 6 juin 2013 Statut Membre Dernière intervention 19 juin 2013 3
Modifié par NeoTsu le 7/06/2013 à 10:18
autre solution plus simple enfait:

A1: =(B1*C1+B2*C2+B3*C3+B4*C4)/somme.si(B1:B4;"<>0";C1:C4)


Pas besoin de colonne supplémentaire (désolé, le matin c'est pas facile ^^)
0
Malheureusement ça ne marche pas car ça prend une cellule vide comme un 0. ce qui fais chuter la moyenne au lieu d'ignorer la note coefficientée.
0
Il suffit de remplacer :
A1: =(B1*C1+B2*C2+B3*C3+B4*C4)/somme.si(B1:B4;"<>0";C1:C4)


par
A1: =(B1*C1+B2*C2+B3*C3+B4*C4)/somme.si(B1:B4;"<>";C1:C4)
0
et là ça marche, merci NeoTsu, je termine mon tableur, test le final, et vous tiens au courant
0
Nouveau problème :
si aucune des notes n'est renseigné, alors la cellule affiche l'erreur de DIV/0.

MA solution :
Faire un test conditionnel, si le somme.si = 0, alors on affiche rien, sinon, on affiche le résultat de la formule originale...
0