SOMMEPROD Conditionelle

Résolu
aucoro1 Messages postés 3 Statut Membre -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

C'est mon premier post sur un forum, je vais essayer d'etre le plus clair possible.
J'ai un tableau avec trois colonnes, l'une des noms de clients, la seconde avec des numero de semaine, la derniere avec des quantités.
J'ai besoin de faire la somme des quantités d'un meme client une meme semaine. Et repeter ca a tout les clients de toutes les semaines.
Exemple : semaine 1, j'ai 5 fois client1 avec 5 quantités differentes, puis 3 fois clients 2 avec 3 quantités differentes puis semaine 2 j'ai 2 fois client1 avec 2 quantités differentes et 3 fois client2 avec 3 quantités differentes.

J'ai donc besoin de retrecir mon tableau pour que chaque semaine, chaque client de la semaine ne s'affiche qu'une fois avec la somme des quantités.

En esperant avoir été clair,

Robin

1 réponse

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    deux options:

    =SOMMEPROD((champ client=nom client)*(champ N° semaine=N°semaine)*(champ à sommer))

    ou (à partir de Excel 2007)

    =SOMME.SI.ENS( champ à sommer;champ client;nom client;champ N° sem;N° sem)

    vous pouvez bien sur remplacer les valeurs cherchées par des adresses de cellules qui les contiennent
    0
    1. aucoro1 Messages postés 3 Statut Membre
       
      Du coup j'ai pris la seconde solution que tu me propose, qui marche bien. Mais j'ai 40 000 ligne sur mon tableau.. 52 semaine, avec des centaines de client chaque semaine et des dizaine de quantité pour chaque client chaque semaine.
      Il faudrait que je puisse developer la formule sur tt le tableau. Je ne vois pas comment faire.. Peut etre est ce impossible avec simplement les fonction excel. Je suis dans le neant.
      Toute idée peut me faire advancer :)
      En tt cas merci a toi pour ta reponse rapide.
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Tout dépend de la façon dont tu veux afficher les résultats, si le tableau est classé, etc

      idée de base, à adapter si par exemple tu as une feuille BDD avecc:
      • en A nom du client
      • en B N° de semaine
      • en C montants


      dans une feuille RECAP

      de A2 à Axxx établir la liste exhaustive (sans doublon donc) des clients, elle peut être créée:
      • par formule et évolutive selon la base de données si on rajoute des clients
      • via l'option convertir / supprimer les doublons si la liste en BDD est complète
      • soit cette liste existe déjà


      de B1 à xxxx1 entrer les N° de semaine
      • la formule en B2 à tirer sur tout le tableau:


      =SOMME.SI.ENS(BDD!$C:$C:BDD!$A:$A;$A2;BDD!$B:$B:B$1)

      en respectant bien la position des signes $ pour "tirer" la formule sur tout le tableau



      Il est aussi possible d'afficher un résultat unique variant selon sélection par exemple avec:
      menu déroulant pour le nom client en A2
      menu déroulant pour le N° de semaine en B2
      en C2:
      =SOMME.SI.ENS(BDD!$C:$C:BDD!$A:$A;$A2;BDD!$B:$B:B$2)

      et bien d'autre cas encore (feuille ^par semaine, par client, etc...)

      en aparté: pour alléger un peu le système mieux vaut utiliser des adresses de champ avec les limites de lignes utiles plutôt que les colonnes complètes:
      exemple: BDD!$A$2:$A$50000 au lieu de BDD!A:A etc...


      et pour terminer, vous pouvez utiliser aussi l'outil "tableau croisé dynamique" qui vous affichera les résultat selon la disposition que vous souhaitez et tout ça sans formule



      crdlmnt
      0
    3. aucoro1 Messages postés 3 Statut Membre
       
      Je vais finalement partir sur un tableau croisée dynamique, c'est effectivemment plus simple.
      Merci de m'avoir donné plusieurs reponse, ca m'as permis de tester, d'avancer.

      Robin
      0
    4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Pas de quoi
      si vous avez ce qu'il vous faut, merci de passer le sujet en résolu
      (roue dentée en haut sous le titre du fil)
      bonne route
      crdlmnt
      0