Parcours tableau excel 2010 Somme

Bonjour à tous,

Admettons que j'ai qqch du type:

A 8
A 1
A 7
B 2
B 3
C 1
C 4
C 6
C 9

J'aimerai obtenir la moyenne de A, de B, de C.
Je cherche une méthode qui parcours le tableau, car il comporte environ 100000 lignes (et il n'y a pas que 3 lettres ^^ ) , c'est à dire, une méthode qui dise, tant que les deux lettres sont égales, on continue de faire la somme, dès que la lettre change, on refais la même chose et on met dans une autre case.

Merci d'avence pour votre aide !!!!!!!

6 réponses

  1. Contributeur
    Tes textes sont en A:A, tes valeurs numériques en B:B ; en C:C tu mets la formule =MOYENNE.SI(A:A;A:A;B:B)
    https://www.cjoint.com/?DGidExnxAPO
    Tu peux te contenter des colonnes A à C (solution violette).
    Tu peux aussi créer des petits tableaux en colonne E et F (solution jaune).
    Tu peux même te contenter d'une seule plage de consultation en H4:I4 avec une liste déroulante de cellule en H4 (solution orange).

    Cordialement.
    C'est bien, la retraite ! Surtout aux Antilles ... :-)
    Raymond (INSA, AFPA, CF/R)
    0
    1. Merci pour votre réponse.
      J'ai essayé votre solution, cela me donne uniquement la moyenne de A. Dois je faire la même chose pour toutes les lettres ? (J'en ai une quarantaine, voir plus :( )
      Sinon, je n'ai pas bien compris le code couleur.
      Merci encore!!!
      0
    2. 132 lettres différentes même :) haha
      0
  2. Contributeur
    Et moi qui croyais avoir été un bon pédagogue !
    Dans la colonne C tu as les moyennes de toutes les lettres ; à chaque ligne tu as la lettre et sa moyenne ! C'est la partie violette de la feuille, colonnes de A à C. OK ?

    Mais comme c'est un peu idiot de répéter 500 fois le même résultat, je t'ai proposé quelque chose de plus élégant, dans la partie jaune de la feuille, c'est-à-dire les colonnes E et F : tu saisis la lettre en colonne E et Excel t'affiche sa moyenne en colonne F. Tu as compris ?

    Et le fin du fin, la solution au top, c'est dans la partie orange de la feuille, soit juste les cellules H4 et I4 : Il te suffit de choisir une lettre dans la liste déroulante en H4, et la moyenne apparaît en I4 ... C'est compliqué à comprendre ?

    "J'ai essayé votre solution, cela me donne uniquement la moyenne de A"
    en écrivant ça, tu prouves que tu as interprété ma phrase "en C:C tu mets la formule =MOYENNE.SI(A:A;A:A;B:B)" comme voulant dire "en C1 tu mets la formule =MOYENNE.SI(A:A;A:A;B:B) et tu t'arrêtes".
    Si tu prends juste la peine de recopier la formule vers le bas, tu verras la différence ... Et si tu avais pris la peine de regarder ce fichier que j'ai créé exprès pour toi, tu n'aurais posé aucune question, puisque tu aurais constaté qu'il a tout ce que tu peux souhaiter !
    0
    1. Contributeur
      Bonjour ExcelHere, Raymond,

      Au lieu de passer ton temps à mettre plein de formules, tu devrais utiliser un TCD (Tableau Croisé Dynamique) qui est fait pour cela. Voilà ce que cela donne avec les données de Raymond complétées :

      https://www.cjoint.com/?DGijwotidje

      Tu peux rajouter des éléments dans ton tableau, et ensuite il suffit de faire clic droit sur le TCD et choisir actualiser pour que tout soit à jour.
      0
    2. Contributeur
      Bonjour

      ici ce que j'ai compris de votre question...avec deux options et sous toutes réserves
      https://www.cjoint.com/?DGikn3rOUO9

      crdlmnt

      Errare humanum est, perseverare diabolicum
      0
      1. Contributeur
        Rebonjour tous
        ...je ne suis pas sur que le TCD puisse répondre à la question si je l'ai bien comprise.
        En fait, il semblerait que le demandeur veuille un sous total des codes qui se suivent à chaque changement de code dans la liste, d'où cette proposition:
        https://www.cjoint.com/?DGijwotidje

        mais le demandeur reviendra surement nous confirmer ou infirmer ça

        Bien cordialement à tousd
        0
      2. Contributeur
        Bonsoir Vaucluse,

        Bien d'accord avec toi, il y a 2 demandes :
        J'aimerai obtenir la moyenne de A, de B, de C. => le TCD

        la suite que tu as traitée et que j'ai prise pour une explication pour faire la moyenne ;-)

        Comme le filtre était bon, chez moi, il n'y avait pas de marc de café exploitable en divination :)

        Bonne soirée à toi et aux lecteurs.
        0
    3. OHHHHH Merci à tous pour vos réponses, je ne savais pas que ce forum était si actif!!!
      Si ça ne vous gêne pas mon problème à évolué :
      J'ai par exemple ça : (GOOD quand le nombre est inférieur à 0,4 sinon BAD)

      A 0,1 GOOD
      A 0,6 BAD
      A 0,3 GOOD
      B 0,9 BAD
      B 0,2 GOOD
      C 0,7 BAD
      C 0,6 BAD
      C 0,6 BAD
      C 0,01 GOOD

      Et j'aimerai obtenir le poucentage de BAD pour chaque lettre, bien sur sans avoir à retaper la formule, car des tonnes de lettres, et des milliers de lignes.

      Exemple de ce que j'aimerai obtenir :

      A 1/3= 0,33
      B 0,5
      C 3/4= 0,75

      Dans le même style de la réponse de @gbinforme , j'ai essayé de faire un filtre avec les chiffres plus grands que 0,4 (après avoir changé les valeurs) mais la moyenne ne changeais pas

      MERCI A TOUS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      0
      1. Contributeur
        Bonjour

        =NB.SI.ENS(A;A;"A";C:C;"BAD")/NB.SI(A:A;"A)

        Ou alors sans la colonne C

        =NB.SI.ENS(A;A;"A";B:B;">0,4")/NB.SI(A:A;"A")

        Si excel d'avant 2007, replacer NB.SI.ENS(A;A;"A";B:B;">0,4") par:

        =SOMMEPROD((A1:A10000="A")*(B1:B10000>0,4))/ .....

        dans ce cas N° de ligne obligatoire dans les adresses de champ
        crdlmnt

        Errare humanum est, perseverare diabolicum
        0