Moyenne de divisions : problème avec les DIV/0

Résolu
Bonjour,

Je souhaite faire une moyenne de divisions ressemblant à cela : =average(G40/G38;F40/F38;E40/E38)

Malheureusement aléatoirement, il se peut que les diviseurs soient égales à 0. Je souhaiterai, lorsque c'est le cas, que la moyenne considère que la division est égale à 0.
average.si pourrait répondre à mon problème à condition que j'ai des plages et dans mon cas je n'en ai pas.

Quelqu'un aurait une astuces ?

Merci d'avance
Bien cordialement

5 réponses

  1. Contributeur
    Bonjour,

    Si tes cellules sont bien contigües comme sur l'exemple alors :
    =MOYENNE(SI(F38:H38=0;0;(F40:H40)/(F38:H38)))
    formule matricielle à valider avec shift+ctrl+entrée

    eric
    0
    1. Bonjour Eriiic
      j'avais opté plus modestement par
      =SI(ESTERR(MOYENNE(G40/G38;F40/F38;E40/E38));0;MOYENNE(G40/G38;F40/F38;E40/E38))

      A moins que je ne me trompe , mais dans votre formule, si 1 seule valeur est différente de 0 en G, le résultat ne donne pas 0.
      0
      1. Contributeur
        Bonjour frenchie,

        Je n'ai pas eu la même lecture :
        Je souhaiterai, lorsque c'est le cas, que la moyenne considère que la division est égale à 0.
        https://www.cjoint.com/c/CHxinV4yDq1

        Au passage, lorsque tu mets du code (vu sur un autre post), tu devrais utiliser l'icone <> pour mettre en forme. C'est plus lisible ensuite s'il y a beaucoup de lignes.

        eric
        0
      2. Exact, pour la première observation, j'ai mal interprété la demande, comme quoi, on ne relit jamais assez.
        Pour ce qui est de l'utilisation des <> , généralement je le fais mais parfois il m'arrive d'oublier de cliquer dessus, surtout quand je le glisse au milieu de commentaires. mais je serai plus attentif les prochaines fois.
        Merci pour ces remarques constructives.
        0
    2. Merci pour vos réponses mais aucune des deux ne fonctionnent.

      Je ne souhaite pas que si un des 3 diviseurs vaut 0 toute la moyenne vale 0. Je souhaite que juste cette division vale 0. En faite dans mon problème on a 7 cas possibles :
      E38=0
      F38=0
      G38=0
      E38 & F38=0
      E38 & G38=0
      G38 & F38=0
      E38 & F38 & G38=0.

      Merci d'avance
      0
      1. Si c'est le cas, la formule d'Eriiic est la bonne. Si une division =0, la moyenne se fait bien sur le reste
        0
      2. Contributeur
        aucune des deux ne fonctionnent
        Tu as bien validé en matriciel comme je te l'ai écrit ?
        Regarde plus haut, j'ai mis un fichier exemple dans une réponse à frenchie

        eric
        0
      3. En effet sous excel ça marche à merveille, malheureusement je suis sous spreadsheet de google drive, et validation matricielle je ne sais pas si c'est faisable la dessus.
        0
      4. Contributeur
        regarde avec ARRAYFORMULA()
        eric
        0
    3. Wonderful !!!!!

      J'aurai pu ajouter un peu plus de détails au début mais superbe d'avoir la réponse à la première réponse. C'était ma première question et je suis très contente du résultat :)

      Merci à tous
      0
      1. Je vais peut être abusé un peu de votre gentillesse mais j'ai le même problème maintenant mais avec une moyenne de divisions ayant une somme au dividende.
        =average((D43+E44)/D41;(E43+F44)/E41;(F43+G44)/F41)
        =average((D43+E44+F45)/D41;(E43+F44+G45)/E41;(F43+G44+H45)/F41)

        Ce sont les mêmes contraintes que pour le problème précédent.

        Merci d'avance
        0
        1. Contributeur
          C'est toujours le même principe :
          =MOYENNE(SI(diviseurs=0;0;(dividendes)/(diviseurs)))
          avec dividendes = ((D43:F43)+(E44:G44))

          =MOYENNE(SI(D41:F41=0;0;((D43:F43)+(E44:G44))/(D41:F41)))
          formule matricielle à valider avec shift+ctrl+entrée

          eric
          0
        2. Malheureusement non, je n'additionne pas mes cellules lignes par lignes mais en diagonale :
          D43+E44+F45.
          Une solution ?
          Merci d'avance
          0
        3. Contributeur
          Une solution ?
          Ben regarde ce que j'ai mis...
          eric
          0