Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Sommeprod - Double recherche en colonne

Stephxi

XLDnaute Nouveau
Bonjour,
Je recherche à faire une somme en fonction de filtre basés sur des lignes et des colonnes à partir d'un seul tableau.

Dans l'exemple ci-après, je devrais avoir 1 en cellule H46 mais il semble que ma formule soit inopérante. Pouvez vous m'aider svp ?

Par avance, merci !

Stéphane
 

Pièces jointes

  • Aide communauté.xlsx
    56.7 KB · Affichages: 4

AtTheOne

XLDnaute Accro
Supporter XLD
Bonjour à toutes & à tous, bonjour @Stephxi
Dans ton SOMMEPROD tu mélanges lignes et colonnes.
Je te propose de créer un nom qui définit la colonne :
VB:
Nom  : _MacroSélection
Définition : =DECALER(_MacroData;0;EQUIV(Feuil1!H$45;_MacroCalendrier;0)+EQUIV(Feuil1!$E$46;_MacroImpacts;0)-2;;1)
et d'utiliser la formule suivante :
Code:
=SOMMEPROD((_MacroPhase=$C46)*(_MacroServices=$D46)*_MacroSélection)
voir fichier joint
À bientôt

EDIT (vu le nom du fichier ceci est valable pour EXCEL2007)
 

Pièces jointes

  • Filtre dynamique EXCEL2007.xlsx
    59.8 KB · Affichages: 1

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer pour l'année 2025
VB:
=SOMMEPROD((DECALER($C$13;EQUIV($C46;$B$14:$B$40;0);;9)=$D46)*(_MacroCalendrier=H$45)*(_MacroImpacts=$E46)*DECALER($C$13;EQUIV($C46;$B$14:$B$40;0);1;9;48))

JHA
 

Pièces jointes

  • Aide communauté.xlsx
    56.5 KB · Affichages: 1

Stephxi

XLDnaute Nouveau
Bonjour à tous,

A essayer pour l'année 2025
VB:
=SOMMEPROD((DECALER($C$13;EQUIV($C46;$B$14:$B$40;0);;9)=$D46)*(_MacroCalendrier=H$45)*(_MacroImpacts=$E46)*DECALER($C$13;EQUIV($C46;$B$14:$B$40;0);1;9;48))

JHA

Re bonjour ! et oui, joyeuses fêtes à tous !

Merci, j'opte sur la méthode calcul car je ne connais pas VB.
Toutefois, j'ai oublié de préciser que j'ai besoin que la formule se répète afin de créer un autre tableau exploitable pour réaliser un TCD et graphiques. Le mieux est de re regarder dans le fichier joint.
Merci beaucoup

Stéphane
 

Pièces jointes

  • Aide communauté.xlsx
    57 KB · Affichages: 3

JHA

XLDnaute Barbatruc
Bonjour à tous,

La formule faisait déjà le boulot. Pour la liste des données, j'ai utilisé Power Query puis j'ai supprimé après avoir copié les valeurs.

JHA
 

Pièces jointes

  • Aide communauté.xlsx
    78.1 KB · Affichages: 4

AtTheOne

XLDnaute Accro
Supporter XLD
Re
En reportant les résultats dans une autre feuille et en créant un tableau structuré tu as le choix entre deux formules :
Une utilisant le nom défini _Sélection (qui renvoie la colonne Ad Hoc de la plage _MacroData
Enrichi (BBcode):
=INDEX(_Sélection;EQUIV([Phases];_MacroPhases;0)+EQUIV([Services];_MacroServices;0)-1)
Une sans le nom défini (mais qui reprend la formule de _Sélection ou presque)
Enrichi (BBcode):
=INDEX(_MacroData;EQUIV([Phases];_MacroPhases;0)+EQUIV([Services];_MacroServices;0)-1;EQUIV(tb_Macro[#En-têtes];_MacroMois;0)+EQUIV([Impact Code];_MacroImpacts;0)-1)

Nota j'ai ajouté le nom _MacroMois
_MacroData=Feuil1!$D$13:$AY$39
_MacroImpacts=Feuil1!$D$12:$AY$12
_MacroMois=Feuil1!$D$11:$AY$11
_MacroPhases=Feuil1!$B$13:$B$39
_MacroServices=Feuil1!$C$13:$C$39
_Sélection=INDEX(_MacroData;;EQUIV(tb_Macro[#En-têtes];_MacroMois;0)+EQUIV(tb_Macro[Impact Code];_MacroImpacts;0)-1)

À bientôt

EDIT :
Oups dans mon fichier j'ai cassé tes formules pour 2026 en supprimant la ligne des Dates (ligne 12)
 

Pièces jointes

  • Filtre dynamique EXCEL2007 bis.xlsx
    64 KB · Affichages: 1
Dernière édition:

Discussions similaires

Réponses
7
Affichages
457
Réponses
8
Affichages
271
P
Réponses
7
Affichages
683
Pilliars
P
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…