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 :

SOMMEPROD avec deux critères par cellule [XL-365]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Points : 2
    Points
    2
    Par défaut SOMMEPROD avec deux critères par cellule
    Bonjour à tous,
    Je suis nouveau sur votre forum et viens demander de l'aide car je bloque sur une formule Excel.

    Je souhaite additionner des valeurs se trouvant dans un tableau structuré selon 2 critères.
    Chaque cellule de la plage de critère est formatée en texte et contient une valeur sous cette forme : 04/2021 (ce sont des valeurs saisies)
    04 représentant un numéro de semaine et 2021 l'année

    J'ai écrit une formule en utilisant la fonction SOMMEPROD où je souhaite obtenir un résultat qui prends en compte les valeurs dont la semaine est >= à aujourd'hui ET l'année >= à aujourd'hui.
    Le problème c'est que ma formule additionne toutes les semaines >= à aujourd'hui sans tenir compte de l'année + toutes les années >= à aujourd'hui sans tenir compte de la semaine.

    Je n'arrive pas à appliquer les 2 critères en même temps.
    J'ai essayer de regrouper mes 2 critères avec un ET mais la formule retourne 0.
    J'ai aussi tester avec SOMME.SI.ENS et c'est pareil, j'obtiens 0.
    Y a t'il une solution ?

  2. #2
    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 755
    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 755
    Points : 28 606
    Points
    28 606
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si les données sont bien alphanumériques comme illustré ci-dessous, voici deux formules possibles, à l'aide de la fonction SOMMEPROD

    S'il s'agit de dénombrer le nombre de cellules répondant aux critères
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((GAUCHE(t_Test[Période];2)=$D$3)*(DROITE(t_Test[Période];4)=$E$3) )
    S'il s'agit de faire la somme de la colonne Valeur si les conditions sont remplies
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((GAUCHE(t_Test[Période];2)=$D$3)*(DROITE(t_Test[Période];4)=$E$3);t_Test[Valeur])
    Nom : 210127 dvp SommeProd.png
Affichages : 150
Taille : 7,4 Ko
    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

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Salut.

    Indépendamment de la réponse de Philippe qui est, évidemment, fonctionnelle, je donne ici le conseil d'organiser ce genre de données "dans l'autre sens", c'est-à-dire en mentionnant d'abord l'année puis le numéro de semaine, ce qui permettra de gérer plus facilement les conditions du type "de la semaine x de l'année A à la semaine y de l'année b". En mentionnant d'abord la semaine (ou le mois ou le trimestre...) de l'année puis l'année, tu vas compliquer tes formules pour les conditions "de telle période à telle période".

    Ce n'est pas tout à fait exact lorsque la première semaine de l'année n'a pas le numéro 1, mais le numéro 52 ou 53 (comme en 2021 où les 1, 2 et 3 janvier sont dans la semaine 53), ce qui sera régulièrement le cas vu le système européen de numérotation, mais d'une façon générale, une codification qui va du général (ou englobant) au particulier (ou englobé) est préférable à une qui fait l'inverse.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour vos réponses à tous les deux.
    Je test ça.

  5. #5
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Je viens de tester et la méthode est sensiblement la même que celle que j'utilise déjà hors ça ne fonctionne pas.

    Si tu on ajoute des valeurs de l'année dernière telles que 44/2020, 45/2020, 50/2020, elles sont comptabilisées grâce à la semaine.

  6. #6
    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 755
    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 755
    Points : 28 606
    Points
    28 606
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si tu on ajoute des valeurs de l'année dernière telles que 44/2020, 45/2020, 50/2020, elles sont comptabilisées grâce à la semaine.
    Je suis désolé mais je teste toutes les réponses que je publie et je peux vous assurer que le calcul est bien effectué en fonction de la semaine ET de l'année.

    Comme vous ne publiez pas l'image de vos données ainsi que l'image des cellules qui servent de filtre, il est difficile de voir ce qui ne va pas mais je pencherais pour un problème de type de données et c'est la raison pour laquelle j'ai mis en gras et souligné le mot alphanumérique dans ma réponse.
    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

  7. #7
    Candidat au Club
    Homme Profil pro
    Dessinateur
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Dessinateur

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    Je suis désolé mais je teste toutes les réponses que je publie et je peux vous assurer que le calcul est bien effectué en fonction de la semaine ET de l'année.

    Comme vous ne publiez pas l'image de vos données ainsi que l'image des cellules qui servent de filtre, il est difficile de voir ce qui ne va pas mais je pencherais pour un problème de type de données et c'est la raison pour laquelle j'ai mis en gras et souligné le mot alphanumérique dans ma réponse.
    Toutes mes excuses, vous avez tout à fait raison.
    Il s'agissait bien d'un problème alphanumérique.
    Comme je souhaite contrôler le numéro de semaine par rapport à la semaine en cours je suis obligé de tenir compte du zéro (que je suis obligé de conserver pour d'autres raisons).
    Ce qui donne la formule suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((CNUM(SI(STXT(t_Test[Période];1;1)="0";STXT(t_Test[Période];2;1);STXT(t_Test[Période];1;2)))>=NO.SEMAINE.ISO(AUJOURDHUI()))*(DROITE(t_Test[Période];4)>=$E$3);t_Test[Valeur])
    Le contrôle sur la semaine ne fonctionnait pas avant que je convertisse ma valeur en numérique.
    Merci beaucoup pour votre aide.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/03/2019, 22h33
  2. Réponses: 6
    Dernier message: 10/12/2017, 15h17
  3. Rechdom dans un formulaire avec deux critères
    Par isabelle b dans le forum IHM
    Réponses: 11
    Dernier message: 13/05/2008, 00h28
  4. probléme filtre avec deux critéres?
    Par dj_techno dans le forum Bases de données
    Réponses: 9
    Dernier message: 31/05/2007, 09h57
  5. Faire une liste avec deux éléments par ligne
    Par pc.bertineau dans le forum Mise en page CSS
    Réponses: 18
    Dernier message: 12/04/2007, 14h47

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