Calcul de moyenne
Résolu
Bonjour,
J'ai essayé cette formule mais ça ne marche pas. On me dit que l'expression contient du texte qui n'est pas encadré par des guillemets
J'ai essayé cette formule mais ça ne marche pas. On me dit que l'expression contient du texte qui n'est pas encadré par des guillemets
4 réponses
-
Contributeurbonjour, quelle formule?
-
Il sagit de cette formule
=(nz(note1;0)+nz(note2;0)+nz(Note3;0))/(IIf(isnull(note1);0;1)+IIf(isnull(note2);0;1)+IIf(isnull(note3);0;1))-
-
Pour être sincère voici ce que j'ai fait:
J'ai adapté la formule à ma situation.
J'ai une requête R_MGA qui recueille les MOYENNES de chaque élève.
MOY1 = MOYENNE 1 (Moyenne de la pemière Evaluation)
MOY2 = MOYENNE 2 (Moyenne de la pemière Evaluation)
MOY_EB1 = (Moyenne du premier Examen Blanc)
MOY_EB2 = (Moyenne du deuxieme Examen Blanc)
Donc j'ai MOY1, MOY2, MOY_EB1, MOY_EB2 puis j'ai un champs MGA (Moyenne Générale Annuelle) qui est la moyenne des 4 MOYENNES citées ci haut.
Voici la formule que j'ai adapté et introduite dans le champ MGA.
MGA: ([MOY1]+[MOY2]+[MOY_EB1]+[MOY_EB2])/(VraiFaux(EstNull([MOY1]);0;1)+(VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY_EB1]);0;1)+VraiFaux(EstNull([MOY_EB2]);0;1)))
Mais la formule divise par 4 pourtant il y a des champs nuls. Un élève peut avoir 3 Moyennes, un autre 4 et un autre encore peut avoir 2.
J'ai parcouru le forum et j'ai utilisé cette autre formule que voici
=IIf(iserror((Nz(CDbl([MOY1]);0)+Nz(CDbl([MOY2]);0)+Nz(CDbl([MOY_EB1]);0)+Nz(CDbl([MOY_EB2]);0))/(VraiFaux(EstNull([MOY1]);0;1)+VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY3]);0;1)+VraiFaux(EstNull([MOY4]);0;1)));"";(Nz(CDbl([MOY1]);0)+Nz(CDbl([MOY2]);0)+Nz(CDbl([MOY_EB1]);0)+Nz(CDbl([MOY_EB2]);0))/(VraiFaux(EstNull([MOY1]);0;1)+VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY3]);0;1)+VraiFaux(EstNull([MOY4]);0;1)))
comme ça ne marche toujours pas, j'ai trouvé cette autre formule qui voici:
VraiFaux(IsError((Nz(CDbl([MOY1]);0)+Nz(CDbl([MOY2]);0)+Nz(CDbl([MOY_EB1]);0)+Nz(CDbl([MOY_EB2]);0))/(VraiFaux(EstNull([MOY1]);0;1)+VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY_EB1]);0;1)+VraiFaux(EstNull([MOY_EB2]);0;1)));"";(Nz(CDbl([MOY1]);0)+Nz(CDbl([MOY2]);0)+Nz(CDbl([MOY_EB1]);0)+Nz(CDbl([MOY_EB2]);0))/(VraiFaux(EstNull([MOY1]);0;1)+VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY_EB1]);0;1)+VraiFaux(EstNull([MOY_EB2]);0;1)))
Mais j'ai toujours un souci et je n'ai pas le résultat attendu.
Merci et toutes mes excuses pour le dérangement -
@yg_beJe voudrais m'excuser auprès de vous.
En effet il a des valeurs qui ne sont pas nulls. J'ai consideré les zero comme étant des valeurs nulles.
Donc les champs comportent soit des nombres ou des zeros.
On a Par exemple pour le premier elevec sur la première ligne.
MOY1= 12
MOY2=10
MOY3=00
MOY4=13
Pour le deuxième élèves ces Moyennes sont:
MOY1= 12
MOY2=9
MOY3=12
MOY4=13
Pour obtenir la moyenne la formule doit soit diviser 3 ou par 4 ou encore par 2 en tenant compte des zeros. Les zeros indiquent que l'élève était absent. .
Je vous prie de bien vouloir m'aider.
Merci
-
-
Pour être sincère voici ce que j'ai fait:
J'ai adapté la formule à ma situation.
J'ai une requête R_MGA qui recueille les MOYENNES de chaque élève.
MOY1 = MOYENNE 1 (Moyenne de la première Évaluation)
MOY2 = MOYENNE 2 (Moyenne de la deuxième Évaluation)
MOY_EB1 = (Moyenne du premier Examen Blanc)
MOY_EB2 = (Moyenne du deuxieme Examen Blanc)
Donc j'ai MOY1, MOY2, MOY_EB1, MOY_EB2 puis j'ai un champs MGA (Moyenne Générale Annuelle) qui est la moyenne des 4 MOYENNES citées ci haut.
Voici la formule que j'ai adapté et introduite dans le champ MGA.
MGA: ([MOY1]+[MOY2]+[MOY_EB1]+[MOY_EB2])/(VraiFaux(EstNull([MOY1]);0;1)+(VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY_EB1]);0;1)+VraiFaux(EstNull([MOY_EB2]);0;1)))
Mais la formule divise par 4 pourtant il y a des champs nuls. Un élève peut avoir 3 Moyennes, un autre 4 et un autre encore peut avoir 2.
J'ai parcouru le forum et j'ai utilisé cette autre formule que voici
=IIf(iserror((Nz(CDbl([MOY1]);0)+Nz(CDbl([MOY2]);0)+Nz(CDbl([MOY_EB1]);0)+Nz(CDbl([MOY_EB2]);0))/(VraiFaux(EstNull([MOY1]);0;1)+VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY3]);0;1)+VraiFaux(EstNull([MOY4]);0;1)));"";(Nz(CDbl([MOY1]);0)+Nz(CDbl([MOY2]);0)+Nz(CDbl([MOY_EB1]);0)+Nz(CDbl([MOY_EB2]);0))/(VraiFaux(EstNull([MOY1]);0;1)+VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY3]);0;1)+VraiFaux(EstNull([MOY4]);0;1)))
comme ça ne marche toujours pas, j'ai trouvé cette autre formule qui voici:
VraiFaux(IsError((Nz(CDbl([MOY1]);0)+Nz(CDbl([MOY2]);0)+Nz(CDbl([MOY_EB1]);0)+Nz(CDbl([MOY_EB2]);0))/(VraiFaux(EstNull([MOY1]);0;1)+VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY_EB1]);0;1)+VraiFaux(EstNull([MOY_EB2]);0;1)));"";(Nz(CDbl([MOY1]);0)+Nz(CDbl([MOY2]);0)+Nz(CDbl([MOY_EB1]);0)+Nz(CDbl([MOY_EB2]);0))/(VraiFaux(EstNull([MOY1]);0;1)+VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY_EB1]);0;1)+VraiFaux(EstNull([MOY_EB2]);0;1)))
Mais j'ai toujours un souci et je n'ai pas le résultat attendu.
Merci et toutes mes excuses pour le dérangement-
=(Nz([MOY1];0)+Nz([MOY2];0)+Nz([MOY_EB1];0)+Nz([MOY_EB2];0))/(VraiFaux(EstNull([MOY1]);0;1)+VraiFaux(EstNull([MOY2]);0;1)+VraiFaux(EstNull([MOY_EB1]);0;1)+VraiFaux(EstNull([MOY_EB2]);0;1))
Mon soucis avec cette formule pour calculer la moyenne générale d'un élève, c'est qu'elle divise uniquement par 4 au lieu de diviser par le nombre de valeur non nulle.
Elle doit diviser par 2 pour un élève qui a deux Moyennes, ou par 4 pour un élève qui a 4 Moyennes et par 3 pour celui qui a 3 moyennes -
Contributeur@Zontépeux-tu partager ton fichier?
quel sont les types des champs MOY1, MOY2, MOY_EB1 et MOY_EB2?
es-tu certain qu'ils sont parfois NULL? -
@yg_beJe voudrais m'excuser auprès de vous.
En effet il a des valeurs qui ne sont pas nulls. J'ai consideré les zero comme étant des valeurs nulles.
Donc les champs comportent soit des nombres ou des zeros.
On a Par exemple pour le premier eleve sur la première ligne.
MOY1= 12
MOY2=10
MOY3=00
MOY4=13
Pour le deuxième élève ces Moyennes sont:
MOY1= 12
MOY2=9
MOY3=12
MOY4=13
Pour obtenir la moyenne la formule doit soit diviser par 3 ou par 4 ou encore par 2 en tenant compte des zeros. Les zeros indiquent que l'élève était absent. .
Je vous prie de bien vouloir m'aider.
Merci
-
-
Bonsoir je ne trouve pas de lien de téléchargement de fichier. Donc j'ai envoyé le fichier que vous m'avez demandé directement sur comment ça marche.
J'espère que vous l'avez reçu.
Merci-
-
@yg_beSi c'était possible d'avoir votre email pour vous faire parvenir mon fichier ou une adresse a laquelle ce serait possible. Je n'arrive pas a trouver le lien par lequel télécharger le fichier sur le forum
-
@yg_beBonjour.
Je crois que vous avez raison. Mes champs au lieu d'être Nulls, contiennent des zeros à la place. Dans ce cas que dois je faire pour que les zeros soient ignorés ? -
-
Contributeur@zontétu dois publier ton fichier sur internet (google drive, cjoint, ...) et puis partager le lien ici.
-