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

Macros et VBA Excel Discussion :

EXCEL : fonction SOMME.SI avec 2 critères


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut EXCEL : fonction SOMME.SI avec 2 critères
    Bonjour

    Je suis à la recherche d'une façon d'exploiter la fonction SOMME.SI mais avec 2 critères
    En fait, j'ai de nombreuses lignes de données sur une feuille et je souhaite faire des sommes pour une synthèse. Mais je veux que les lignes des données à additionner soient sélectionnées suivant deux critères différents

    Merci
    Pti Pié

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je n'ai pas réussi à faire marcher Somme.si (au boulot, elle semble pourtant ne pas poser de pb mais ici, at home, je ne suis pas censé travailler, ce doit être pour ça)
    Bref, ce qui marche pour des conditions imbriquées c'est un truc qui ne répond pas à ta question mais qui la résout...

    =SI(SOMME(A1:A4)>SOMME(B1:B4);SI(SOMME(B1:B4)>SOMME(A14);SOMME(A14);0);0)
    Tu peux remplacer les sommes prises comme tests par des valeurs.
    Moins simple que somme.si mais on fait avec scon a...

    Tu dis

    A+

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    si(condition logique;

    si(et(condtion logique1;condition logique 2;etc) renvoie une condition logique
    qui est la somme booléenne de ce qui est entre parenthèse
    Elle est pas belle la vie ?

  4. #4
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    Etant donné que mon travail commence à urger, j'ai pour l'instant opté pour une solution de facilité
    Mais les solutions que vous proposez sont vraiment interessantes et je souhaite y refléchir

    En fait, après coup, je me suis dit cette le principe de cette formule se raproche de près à du SQL
    Pti Pié

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    c'est sql qui se rapproche de cette structure

    where unchamp=truc and unautrechamp=machin
    est une condition logique

    on peut de même remplacer le and par or
    ou une combinaison des deux

    on peut aussi inverser avec not
    Elle est pas belle la vie ?

  6. #6
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    je me demande si ceci ne pourrait pas fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME.SI(plage;ET(test1;test2;...);plage à additionner)
    Pti Pié

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    je ne suis pas sur d'avoir bien compris , mais tu peux tester cette fonction qui Additionne les cellules de la plage C1:C10 en fonction de 2 criteres : si la cellule associée dans la plage A1:A10 est égal à "test" et si la cellule dans la plage B1:B10 est égal à 50

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A1:A10="test")*(B1:B10=50)*(C1:C10))

    cordialement
    michel

  8. #8
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    Non c'est pas exactement ca.

    En fait, je voudrai aditionner à une plage (A112) de la feuille 1 toutes les plages (qui sont par défaut de la même taille) qui répondent à deux critères
    Pti Pié

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu devrais nous dire ça en français
    "Si la cellule A2 =>< quoi, et si la cellule B2 =<> quoi ? alors je veux la somme de quoi ?

    A+

  10. #10
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    Effectivement c'est plus clair comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    plageBase="A1:C20"
    plageTest = "A30:C50"
     
    for nb = 1 to nb de plage
    Si A2=A31 et C4=C34
    alors
    Additonner la plageTest sur la plageBase
    next nb
    Pti Pié

  11. #11
    Membre régulier Avatar de Bragu Demon
    Homme Profil pro
    Intégrateur d'Explopitation
    Inscrit en
    Juin 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Intégrateur d'Explopitation
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2013
    Messages : 125
    Points : 117
    Points
    117
    Par défaut
    Je sais que je déterre un peu le sujet, mais je me suis posé la même question :
    Faire la somme d'une plage en fonction de 2 critères.

    J'étais donc parti pour écrire ma fonction lorsque :lumiere: (c'est pour l'idée lumineuse) :
    Pourquoi écrire du code alors que la fonction est déjà implémentée : SOMME.SI.ENS.

    Cette fonction existe depuis excel 2007. Pour des versions antérieures, il faudra la recréer :
    La fonction SOMME.SI.ENS, une des fonctions Maths et trigonométrie, ajoute tous ses arguments la somme de tous ses arguments qui répondent à plusieurs critères. Par exemple, vous pouvez utiliser SOMME.SI pour calculer la somme du nombre des revendeurs d’un pays ou région qui (1) possèdent le même code postal et (2) dont les bénéfices dépassent une valeur spécifique en euros.

    Syntaxe : SOMME.SI.ENS(somme_plage; plage_critères1; critère1; [plage_critères2; critère2]; ...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction somme-SUM avec nbre de colonnes variable
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/08/2007, 16h38
  2. Réponses: 7
    Dernier message: 08/03/2007, 21h51
  3. [Excel] Fonction SOMME.SI
    Par sducos81 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/02/2007, 15h48
  4. [Excel] fonction SOMME.SI
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/09/2006, 11h23
  5. [Excel] fonction SOMME.SI avec une cellule pour critère
    Par repié dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/03/2006, 17h39

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