Formule avec filtres multicritères et plage de données dynamiques

9exemple.zip (904.96 Ko)

Bonjour à tous,

Je cherche désespérément une solution via une formule pour obtenir la somme d'une plage dynamique de données (basée sur une date) et prenant en compte des filtres multi-critères, à savoir :

Filtres :

- Type Activité = RUN (Colonne A)

- Entité = C087 (Colonne B)

- CGB Ressource = C3082 (Colonne C)

- Type de Ressource = Interne (Colonne D)

Somme sur une plage de données dynamiques :

En fonction d'une date saisie en S2 (31/08/2020 par ex), je souhaite que seule la somme des colonnes des 8 premiers mois soit calculée (9 premiers mois en Septembre,...)

Exemples de formules testées :

1- En faisant une somme sur une plage de données fixes, pas de pb :

=SOMMEPROD((Run[Type Activité]="RUN")*(Run[Entité]="C087")*(Run[CGB Ressource]="C3082")*(Run[Type de ressource]="Interne")*(Run[[Janvier]:[Decembre]]))

2- En revanche, je n'arrive pas à en faire une plage dynamique en fonction de la date saisie et prenant en compte mes filtres :

=SOMME(DECALER(Run[Janvier];;;(NBVAL(Run[Janvier]));TEXTE(Mois[Date];"mm"))) --> cette formule fonctionne et calcule la somme des colonnes en fonction de la date mais je n'arrive pas à l'associer à la précédente pour prendre en compte mes filtres.

Le sujet n'est pas forcément simple à expliquer, aussi j'espère avoir été suffisamment clair. Dans le cas contraire, n'hésitez pas à me demander des compléments d'information.

Un grand merci pour toute l'aide que vous pourrez m'apporter :-)

Bonjour,

Voilà une formule qui devrait pouvoir faire l'affaire (et être optimisée par la suite d'ailleurs).

=SOMMEPROD((Run[Type Activité]="RUN")*(Run[Entité]="C087")*(Run[CGB Ressource]="C3082")*(Run[Type de ressource]="Interne")*(INDIRECT("Run[[Janvier]:["&CHOISIR(MOIS(T_Mois[Date]);"Janvier";"Février";"Mars";"Avril";"Mai";"Juin";"Juillet";"Août";"Septembre";"Octobre";"Novembre";"Décembre")&"]]";VRAI)))

À noter que j'ai modifié le nom de ton 2ème tableau. Tu l'avais nommé "mois". C'est le nom d'une fonction. Mauvaise idée. Du coup quand tu utilisais la fonction mois, il pensait que tu parlais de la plage MOIS. Appelle-le genre T_mois.

Bonjour,

Parfait, un grand merci à toi

Pour ma gouverne, la piste que j'avais explorée via l'association du SOMMEPROD et DECALER n'était pas envisageable ?

Bonne soirée

À priori si,

J'avais essayé au début et ça ne marchait pas. Mais c'était avant que je ne me rende compte que tu avais nommé ton tableau "mois" et que ça court-circuitait la fonction ....

=SOMMEPROD((Run[Type Activité]="RUN")*(Run[Entité]="C087")*(Run[CGB Ressource]="C3082")*(Run[Type de ressource]="Interne")*(DECALER(Run[Janvier];;;;MOIS(S2))))

J'ai oublié de préciser que pour que ça marche, j'ai réécrit tes entête de colonne (les mois de l'année) sans les fautes d'orthographe ... (les accents en l'occurrence) Fais attention à ça si tu veux automatiser des choses.

Et j'ai aussi supprimé toutes les lignes vides de ton tableau. Les tableaux structurés n'aiment vraiment pas ça.

En gros, tu y étais presque. L'idée était bonne, mais trop d'erreurs de base t'empêchaient d'avoir le bon résultat.

Si près et pourtant si loin ;-)

Merci pour tes précieux conseils, je serai beaucoup plus vigilant à l'avenir sur le respect des "fondamentaux" (je n'ai effectivement pas prêté attention à l'orthographe des mois de l'année dans le fichier d'export qui me sert de référentiel)

Merci encore pour ton aide et excellente soirée

Rechercher des sujets similaires à "formule filtres multicriteres plage donnees dynamiques"