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

Discussion :

Somme sous condition

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut Somme sous condition
    Bonjour,

    je débute en BO et je pense ne pas avoir compris tous les concepts, alors je pose mon problème qui est surement tout bête (après avoir regardé un peu ailleurs avant).

    J'ai dans mon univers une date, un montant et un code.
    Je souhaiterais obtenir un tableau du genre :

    Année | Total | Montant0 | Montant1
    année(date) | somme(montant) | si(code=0) alors somme(montant) | si(code <> 0) alors somme(montant)

    En gros je veux 2 colonnes qui font la somme du montant selon la valeur du code. Si je laisse la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    si (<code> = 0) alors somme(montant)
    j'obtiens un #CALCUL.
    Cela fonctionne si dans mon tableau je laisse la colonne code mais je n'en veux pas car je veux tout sur la même ligne.

    Quelqu'un pourrait il m'indiquer une solution ?
    Merci.

    PS : j'ai à disposition la version 5 et 6 de BO (quand la v6 veut fonctionner)
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  2. #2
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 101
    Points
    101
    Par défaut
    Salut,

    Ta colonne "code" contient sur chaque ligne soit 0, soit un autre chiffre?

    Pour le moment tu as :

    Année | Total | Montant0 | Montant1 | Code

    et tu voudrais que soit la colonne "Montant0" se remplisse si(code=0) alors somme(montant), soit la colonne "Montant1" si(code<>0) alors somme(montant)?

    Que veyx-tu dire par "Cela fonctionne si dans mon tableau je laisse la colonne code mais je n'en veux pas car je veux tout sur la même ligne" ?

    Si tu laisses la colonne code, tu as plusieurs lignes qui apparaissent?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    Si j'ai

    date ; code ; montant
    2006 ; 0 ; 100
    2006 ; 1 ; 50
    2006 ; 0 ; 25
    2007 ; 2 ; 33
    2007 ; 0 ; 1

    je voudrais :
    date ; montant total ; montant0 ; montantAutre
    2006 ; 175 ; 125 ; 50
    2007 ; 34 ; 1 ; 33


    Ce que j'ai actuellement c'est :
    date; code ; montant total ; montant0 ; montantAutre
    2006 ; 0 ; 125 ; 125 ; 0
    2006 ; 1 ; 50 ; 0 ; 50
    2007 ; 0 ; 1 ; 0 ; 1
    2007 ; 2 ; 33 ; 33 ; 0
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  4. #4
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut
    essaye de faire =Somme(si (<code> = 0) alors <montant> )

    et place tes formules dans des variables !

    tu peux aussi utiliser des filtres sur 0...
    ~ Bastoonet ~

    Consultant BI

  5. #5
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 101
    Points
    101
    Par défaut
    Tu peux sortir la colonne "code" de ton tableau.

    Il existera ainsi un tableau pour chacun des codes différents.

    Tu peux ensuite utiliser la Somme à la suite de cela pour chaque tableau, puis les rassembler par la suite.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    J'avais pas pensé à changer le sens de la formule, mais ca ne marche pas non plus. Ca me met #ERRI.

    J'utilise bien des variables. Le problème est dans une variable j'ai l'impression que l'on ne peut utiliser que des données qui sont dans le tableau du rapport et pas des données uniquement dans le fournisseur.

    Sinon, j'ai pas compris Byrdo. Sortie la colonne, ca veut dire la mettre en "maitre" ? Ensuite faire la somme sur le montant ? Et comment on découpe selon les dates pour prendre la somme... ? je sais pas du tout jouer sur le découpage des cellules...
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  7. #7
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 101
    Points
    101
    Par défaut
    Je parlais effectivement de le passer en maître.

    Sinon, en reprenant la formule de bastoonet , et en te servant d'un autre tableau qui récupère tes données :


    Case "Montant0/2006"
    =Somme(si (<code> = 0 Et <date=2006> alors <montant> )

    Case "MontantAutre/2006"
    =Somme(si (<code> <> 0 Et <date=2006> alors <montant> )

    Case "Montant0/2007"
    =Somme(si (<code> = 0 Et <date=2007> alors <montant> )

    Case "MontantAutre/2007"
    =Somme(si (<code> <> 0 Et <date=2007> alors <montant> )

    Ca marcherait ça? C'est du bricolage, mais ça peut peut-être te convenir.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    les formules marchent pas dans un tableau simple (je parle sans section, maitre ou autre truc du genre). Ca donne toujous #ERRI car le code n'est pas dans le même tableau.

    Je suis en train de voir en découpant les cellues dans tous les sens, en jouant sur la note de maitre, mais pour le moment c'est pas brillant.
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Points : 128
    Points
    128
    Par défaut
    Salut

    Si tu as l'année en maitre, il suffit de rajouter
    = Somme (montant) dans (<Année>, <code>) ou PourChaque (<Année>, <code>)
    N'ayant pas B.O. sur mon portable, je ne peux plus tester


    Pour savoir comment opére B.O. au niveau de l'opération, il suffit de d'aller dans la partie "Transformer en variable" et "afficher dans son contexte".
    Tu auras ainsi le contexte exact de ta somme.


    Frédéric

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    Dsl de répondre tardivement.
    Avec vos indications, j'ai fini par utiliser l'opérateur "où" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Somme(<Montant>)(<Code> = 0)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Somme(<Montant>)(<Code> = 1) + Somme(<Montant>)(<Code> = 2) + Somme(<Montant>)(<Code> = 3)
    ...
    Bon, j'aurais bien aimé faire un "... où code <> 0" mais ca ne marche pas bizarrement.

    En tout cas merci, pour mon cas, j'ai ce qu'il me faut.
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

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

Discussions similaires

  1. Calculer une somme sous conditions.
    Par Julieta dans le forum Excel
    Réponses: 1
    Dernier message: 22/02/2010, 19h36
  2. Faire une somme sous condition
    Par maystreet dans le forum Deski
    Réponses: 1
    Dernier message: 16/03/2009, 16h43
  3. Somme sous condition
    Par Antale dans le forum MATLAB
    Réponses: 5
    Dernier message: 07/10/2008, 17h58
  4. Somme sous condition
    Par ANTMA dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/12/2007, 17h55
  5. [Excel] Calcul d'une somme sous condition
    Par netsabes dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/08/2006, 16h09

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