Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Calcul de moyenne pondérée sur plusieurs feuillets avec cases vides

Belotus

XLDnaute Nouveau
Bonjour,

Je suis enseignant et j'ai créé un fichier d'évaluations pour mes élèves. Je souhaite réaliser la moyenne pondérée de leurs résultats qui se trouvent sur différentes feuilles de classeur. J'ai trouvé, sur ce forum, une formule qui me permet de le faire.
Le seul hic, c'est que cette formule considère les cases vides comme un zéro. Je souhaiterais donc y ajouter des instructions qui permettent de ne pas tenir compte d'une case "note" sans valeur dans le calcul de la moyenne pondérée.

Voici le lien de la conversation où j'ai récupéré la formule pour calculer la moyenne pondérée sur plusieurs feuilles : https://www.excel-downloads.com/thr...ndere-donnees-sur-plusieurs-feuillets.182609/

EN PJ : le fichier simplifié sur lequel je teste la formule.

Je vous remercie par avance pour votre aide,

Cordialement,

Belotus.
 

Pièces jointes

  • Test_Moyenne_ponderee.xlsx
    11.6 KB · Affichages: 27

Belotus

XLDnaute Nouveau
Bonjour djidji,

Je te remercie grandement pour ton aide !
Cela me convient tout à fait. Je vais de ce pas tester la formule dans mon gros fichier d'évaluation.
Je te souhaite une bonne fin de journée,

Belotus.
 

Belotus

XLDnaute Nouveau
Bonjour,

Après avoir testé la formule, je me suis finalement rendu compte qu'il y avait un soucis par rapport à ce que je souhaite faire.
On ne peut plus prendre en compte un zéro dans la moyenne. Si je met un zéro comme note, la formule n'en tient pas compte et il ne rentre pas dans la moyenne.
Je souhaiterais donc qu'une case "note" vide ne soit pas prise en compte dans la moyenne pondérée mais qu'une case "note" avec un zéro le soit.
Est-ce aussi possible si aucune note n'est rentrée de ne pas avoir le #DIV/0! qui s'affiche dans la case de calcul de la moyenne pondérée mais que la case reste vide ?
Je suis désolé je suis un peu exigeant . Je vous remercie par avance pour votre aide.

Bonne après-midi,

Belotus.
 

Belotus

XLDnaute Nouveau
En fouillant un peu sur Internet j'ai réussi à bidouiller une formule.
J'ai ajouté une fonction SIERREUR pour empêcher le div/0! d’apparaître quand toutes les cases "notes" sont vides.
Ensuite au lieu de diviser par SOMMEPROD, je divise par la somme des coefficients avec un SOMME.SI qui ne somme (selon ce que j'ai compris) que les cases "coefficients" qui correspondent à une case "note" non vide.

Cela semble fonctionner mais ne comprenant pas forcement tout le "langage" utilisé, je veux bien un avis supplémentaire.
Est-ce quelqu'un peut me dire si cela est correct ?

Belotus.

P.S. : Une 4ème version en remplaçant SOMME.SI par SOMME.SI.ENS car il n'y a pas que la case "note" vide que je souhaite exclure de la moyenne mais des cases "note" avec du texte aussi. SOMME.SI.ENS permet de donner plusieurs critères pour sélectionner les coefficients à additionner.
 

Pièces jointes

  • Test_Moyenne_ponderee_v3.xlsx
    11.6 KB · Affichages: 19
  • Test_Moyenne_ponderee_v4_avec_SOMME.SI.ENS.xlsx
    11.8 KB · Affichages: 19
Dernière édition:

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer
Code:
=SOMMEPROD((N(INDIRECT("'"&nf&"'!b4"))*N((INDIRECT("'"&nf&"'!a4"))))/(NBVAL(INDIRECT("'"&nf&"'!a4"))-SOMMEPROD(NB.VIDE(INDIRECT("'"&nf&"'!a4")))))

JHA
 

Belotus

XLDnaute Nouveau
Merci JHA pour ta proposition. Cela convient en effet pour ne pas tenir compte des cases vides.

Par contre je viens de me rendre compte qu'il est impossible d'utiliser la recopie incrémentée avec ces formules en l'état.
Comment peut-on faire pour étirer la formule sur plusieurs lignes et plusieurs colonnes à partir d'une case de départ ?

Par avance merci,

Belotus.
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

En "A2" à essayer:
Code:
=SOMMEPROD((N(INDIRECT("'"&nf&"'!"&CAR(65+COLONNE())&LIGNE(4:4)))*N((INDIRECT("'"&nf&"'!"&CAR(64+COLONNE())&LIGNE(4:4)))))/(NBVAL(INDIRECT("'"&nf&"'!"&CAR(64+COLONNE())&LIGNE(4:4)))-SOMMEPROD(NB.VIDE(INDIRECT("'"&nf&"'!"&CAR(64+COLONNE())&LIGNE(4:4))))))

copier vers la droite et le bas

JHA
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…