Excel, moyenne sur une colonne sous condition

Bergie -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

je cherche a calculer une moyenne sur une colonne.
La moyenne doit seulement etre calculée si une certaine valeur est entré dans une colonne voisine

Par exemple, j ai une colonne avec diffétens types de materiaux

100Cr6
DC01
37Cr4
...

Et sur des colonnes a droite j ai les valeurs des differents elements

96,69
99,595
97,59
par exemple.

Or, selon les normes utilisées, le 100Cr6 n a pas toujours les memes pour les elements d alliage.

Je veux donc faire une moyenne, min, max des valeurs pour chaque materiau.

C est a dire : min, max et moyenne des valeurs pour chaque colonne d'elements d alliages pour chaque materiau.

Ca serait une fonction du genre :

Pour tout 100Cr6, moyenne Fe

ou

Si (case_materiau=100Cr6) prendre valeur (case_Fer) en compte pour la moyenne.

Je precise que j ai bien une centaine de materiaux differents et des milliers de lignes a traiter, si possible sans macro.

Merci de votre aide, j espère avoir éte clair.
Configuration: Windows XP
Firefox 3.0
Excel 2003

8 réponses

  1. biness
     
    je pense que la bonne solution serait d'utiliser le tableau croisé dynamique dans excel qui permettrait d'afficher le min max et moyenne pour chaque matière.
    1
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    as-tu regardé les tableaux croisés dynamiques (menu données) ?
    Ca parait tout à fait approprié.
    Mais comme la possibilité d'utilisation dépend fortement de la présentation des données, si tu ne connais pas les TCD dépose un extrait de ton fichier sur cijoint.fr et colle ici le lien fourni.
    On pourra voir ce qui est faisable et te montrer, que tu vois si ça correspond à ton besoin

    eric
    0
  3. Bergie
     
    Alors pour tout vous dire, c est une base de données matériaux qui va servir dans l entreprise a dire sir les elements analysés viennent de chez nous ou de l exterieur.

    Je vais voir pour donner une version similaire, car la version originale est confidentielle.

    Merci de votre aide en tout cas, je vais vous fournir les elements.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Bergie
     
    Voici le fichier :

    http://www.cijoint.fr/cjlink.php?file=cj200807/cij1V6TyeP.xls

    Ce que je voudrais c est avoir le minimum, maximum et moyenne des materiaux genre DC01 sur une nouvelle ligne qui serait en dessous du tableau et seulement si IMDS est coché !

    Donc 2 conditions pour la moyenne de DC01, il faut que le materiau soit DC01 et qu il y ait un X dans IMDS.

    J ai normalement plus de 1000 lignes différentes, donc pas vraiment envie de le faire a la main.

    Je ne connais pas les tableaux croisés dynamiques.

    Merci pour votre aide.
    0
  6. Bergie Messages postés 146 Statut Membre 7
     
    Est ce que ca permet de faire une ligne avec automatiquement :

    MATERIAU NOM ELEMENTS
    DC01 Moyenne XX XX XX XX
    DC01 Min XX XX XX XX
    DC01 Max XX XX XX XX

    Ce que je voudrais au final c est d avoir une nouvelle ligne pour chaque materiau avec ces informations.

    (compliqué apparemment, mais sinon je vais utiliser les filtres et copier coller juste les materiaux un par un pour faire
    des stats dessus et recopier les lignes en suite dans le vrai tableau ...)
    0
  7. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Si il te faut connaitre ces valeurs au coup par coup les fonctions sous.total() répondent à ton besoin je pense.
    Tu obtiens nbval, min, max et moyenne des valeurs filtrées.
    exemple
    Si il te les faut toutes en même temps ça sera plus compliqué avec des fonctions matricielles.
    Le TCD n'est pas adapté à la présentation de tes données.

    eric
    0
  8. smartway14 Messages postés 857 Date d'inscription   Statut Membre Dernière intervention   186
     
    bonjour;
    par la fonction ;
    MOYENNE.SI()
    -1