IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

SOMME PROD - meme plage 2 valeurs


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 190
    Points : 59
    Points
    59
    Par défaut SOMME PROD - meme plage 2 valeurs
    Bonjour,

    J'aimerai pouvoir additionner les valeurs de ma colonne B selon que ma colonne A contient les prénoms "Manu" ou "Jean" ou "Sophie".
    Voir pièce jointe.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Prénom - Points
    -----------------------
    Manu 2
    Jean 3
    Marc 4
    Sophie 2
    Morgane 3
    Résutat souhaité : 2 + 3 + 2 = 7

    Pourriez vous me dire comment ?
    SOMME PROD ? SOMME SI ? SOMME SI ENS ?
    J'aimerai éviter de faire la somme de 3 SOMME.SI


    Merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Une solution possible avec Sommeprod.


    Cordialement.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 190
    Points : 59
    Points
    59
    Par défaut
    Merci Eric pour cet élement de réponse.
    Mais je préfererai ne pas rajouter de colonne à mon fichier, qui est déjà très volumineux.

    Une autre idée??
    Pour l'instant, j'ai cette formule (mais qui a mon sens est redondante...)

    Nom : Decompte Somme si.jpg
Affichages : 833
Taille : 42,3 Ko

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 820
    Points : 28 725
    Points
    28 725
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comme Eric que je salue au passage, je te propose une solution avec SOMMEPROD mais sur une cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD( ( ( (A2:A6="Manu") + (A2:A6="Jean") + (A2:A6="Sophie") ) >0 ) * B2:B6)
    En fait il faut ajouter un test logique (>0) sur l'ensemble des comparaisons logiques dont on fait la somme pour avoir 1 ou 0 que l'on multiplie par la valeur correspondante
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Bonjour,

    On risque d'arriver toujours à un style de formule comme la tienne. Il faudra bien additionner à un moment.

    Tu peux faire avec SOMMEPROD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A6="Manu")*(B2:B6))+SOMMEPROD((A2:A6="Jean")*(B2:B6))+SOMMEPROD((A2:A6="Sophie")*(B2:B6))
    Philippe est là !

    Ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(SOMME.SI.ENS(B2:B6;A2:A6;"Manu");SOMME.SI.ENS(B2:B6;A2:A6;"Jean");SOMME.SI.ENS(B2:B6;A2:A6;"Sophie"))

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    468
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 468
    Points : 744
    Points
    744
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A6={"Manu"."Jean"."Sophie"})*B2:B6)
    Le séparateur de colonne . (point) à l'intérieur de la constante de matrice dépend de la version d'Excel utilisée.
    Le point si le séparateur décimal est la virgule (FR), l'anti-slash (\) ou la virgule si le séparateur décimal est le point.
    A tester l'un des 3 suivant la version d'excel (2003,2007...etc ou FR/EN/Autre).

    A+
    J'utilise LibreOffice 4 donc quand je suis sur la partie du forum Excel, il se peut que mes réponses ne soit pas adéquates. Veuillez m'en excuser.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 190
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par GerardCalc Voir le message
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A6={"Manu"."Jean"."Sophie"})*B2:B6)
    Aaaah, merci, cela fonctionne comme je l'avais demandé!

    Par contre, mais j'ai une (petite) demande supplémentaire..

    Comment ajouter une cellule, plutôt que du texte ?
    Du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A6={G6."Jean"."Sophie"})*B2:B6)

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 820
    Points : 28 725
    Points
    28 725
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Par contre, mais j'ai une (petite) demande supplémentaire..
    Comment ajouter une cellule, plutôt que du texte ?
    Dans ce cas là, tu peux utiliser une formule de la catégorie Base de données
    Tu mets en G1 Prénom et ensuite G2:G4, les trois prénoms que tu veux avoir comme critères dans ton calcul.
    La formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =BDSOMME(A1:B5;"Points";G1:G4)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour à tous,
    Mélanger des coordonnées de cellules et des constantes dans la formule semble impossible dans la formule de GerardCalc.
    Si l'on en est à devoir réécrire les trois prénoms choisis dans des cellules, Philippe Tulliez a donné une piste à laquelle on ne pense pas assez souvent
    avec les fonctions de la catégorie Base de données.
    Mais si l'on veut employer SOMMEPROD, deux possibilités :
    . Ecrire les trois prénoms choisis sur une seule ligne
    par exemple en plage G6:I6 . On aura alors la réponse avec cette formule (rappelant celle de GerardCalc) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A6=G6:I6)*B2:B6)
    . Ecrire les prénoms sur une seule colonne
    On prendra la précaution d'écrire les prénoms Manu, Jean, Sophie dans les cellules G6, G7 et G9 en laissant vide G8 et G10(Marc et Morgane non retenus). La formule sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A6=G6:G10)*B2:B6)
    Cordialement
    Claude

Discussions similaires

  1. [XL-2010] Faire la somme d'une plage de valeurs d'un classeur ouvert en invisible
    Par Kutoh dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/05/2014, 15h04
  2. Réponses: 2
    Dernier message: 28/12/2012, 14h22
  3. [XL-2003] SOMME PROD #valeur
    Par guigui69 dans le forum Excel
    Réponses: 8
    Dernier message: 28/02/2012, 13h28
  4. [Access] somme de 2 colonnes même qd une valeur nulle ?
    Par kikidrome dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2008, 19h18
  5. Réponses: 7
    Dernier message: 08/03/2007, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo