Prise en comte d'un critère dans SOMME matricielle

Bonjour à toutes et à tous,

Je fais face à un comportement étrange d'excel dans la prise en compte d'un critère dans une somme matricielle.

Mon but est de faire la somme de cellules selon des critères d'en-tête de colonne et de ligne. Mais les critères de colonne ne semblent pas fonctionner avec des formules matricielles...

Je vous ai glissé le fichier d'exemple en fichier joint : la différence entre les deux lignes "TOTAL" me paraît surprenante.

J'arrive à mes fins avec SOMMEPROD par ailleurs, mais je ne comprends pas la différence, d'autant plus que le pas à pas du calcul de la formule matricielle semble correct jusqu'à la dernière étape :

capture

donne...

capture2

Pourriez-vous m'indiquer l'erreur dans ma compréhension ? Ou m'aider à obtenir le résultat espéré avec la formule matricielle ?

Je vous remercie par avance et vous souhaite une bonne journée.

MODM

11exemple.xlsx (24.61 Ko)

en effet ! je ne comprends pas du tout du reste l'objectif visé avec cette formule sur les colonnes

ne peut-on pas faire plus simple, en colonne C6 ou C7 ou autre cellule de la colonne C

=SOMMEPROD(($C$2:C$4)*($A$2:$A$4=$A$6)*(($B$2:$B$4="D")+($B$2:$B$4="E")+($B$2:$B$4="F")))

sachant que j'ai bien écrit C$4 et non $C$4 ce qui permet de tirer cette formule vers la droite de C vers N et faire évoluer le cumul depuis janvier

Bonjour et merci pour votre aide !

J'ai bien réussi à réaliser mes calculs avec SOMMEPROD. Mon fichier d'exemple est un chouïa simplifié, mais il s'agit surtout pour moi de comprendre le mécanisme des formules matricielles, et dans ce cas précis : qu'est-ce que j'ai fait de travers ?!

Bonjour,

Dans la fonction SOMME, le problème vient de l'utilisation de COLONNE().

La saisie en matricielle de $C$1:$N$1=INDEX($C$1:$N$1;1;COLONNE()-2) renvoie une matrice d'une ligne et 12 colonnes alors que cette même formule renvoie un résultat unique dépendant du numéro de colonne en non matriciel.

Cela vient du fait que tu utilises la fonction COLONNE sans argument dans une matrice, Excel transforme alors le résultat en matrice,

ce qui n'est pas le cas avec SOMMEPROD puisque la validation n'est pas matricielle.

En gros, quand tu écris

$C$1:$N$1=INDEX($C$1:$N$1;1;COLONNE()-2)

c'est comme si tu avais écrit

$C$1:$N$1=INDEX($C$1:$N$1;1;COLONNE($C$6:$N$6)-2)

Il suffit de mettre un argument à COLONNE en remplaçant

COLONNE()-2

par COLONNE(A1)

pour que Excel considère cette partie de la formule comme un scalaire et non une matrice.

Voilà pour les explications. Bien sur la formule peut être simplifiée comme indiqué dans les messages précédents.

A+

Merci beaucoup pour cette explication !

Rechercher des sujets similaires à "prise comte critere somme matricielle"