Une somme conditionnelle récalcitrante

excel81

XLDnaute Nouveau
Salut à tout le monde !

Je m'excuse d'avance si la question a déjà été posée. J'ai recherché et je n'ai pas trouvé de question identique.

Je sais effectuer une somme conditionnelle d'une rangée en fonction des valeurs d'une rangée parallèle, mais j'ai une situation plus compliquée avec deux lignes (la 1ère et la 3ème) et une colonne (N).

Je veux sommer certains éléments de ma 1ère ligne en fonction de la 3ème ligne. Cette 3ème ligne contient des indices d'éléments de la colonne N. La condition ne porte pas directement sur les valeurs de la 3ème ligne, mais sur les valeurs des éléments de la colonne N dont les indices apparaissent dans la 3ème ligne. La comparaison se fait avec la valeur de N2. J'espère que j'ai été assez clair.

Dans mon exemple, A3=8 et N9<>N2 (on oublie la colonne A), ... , D3=3 et N4=N2 (on retient la colonne D), ... , G3=7 et N8=N2 (...), ... , K3=11 et N12=N2 (...). Donc je voudrais, dans ce cas, obtenir la somme D1+G1+K1=7 alors que je trouve 0 avec l'idée que j'ai eu en N23.

En faisant une évaluation pas à pas de cette formule, la fonction INDEX ne renvoie pas une matrice, mais uniquement la première valeur. Voilà mon problème.

Est-ce quelqu'un a une solution sans utiliser VBA et sans rajouter d'autres lignes ou colonnes à mon tableau ? Merci d'avance.

Emmanuel.

PS : c'est pour faire un classement d'un championnat de foot avec différence particulière journée par journée.
 

Pièces jointes

  • Test.xls
    13.5 KB · Affichages: 54
  • Test.xls
    13.5 KB · Affichages: 55
  • Test.xls
    13.5 KB · Affichages: 52

Monique

Nous a quitté
Repose en paix
Re : Une somme conditionnelle récalcitrante

Bonjour,

à essayer :

=SOMME(($N$3:$N$21=$N$2)*($A$3:$K$3=LIGNE($N$2:$N$20))*$A$1:$K$1)

Idem
=SOMME(SI(($N$3:$N$21=$N$2)*($A$3:$K$3=LIGNE($N$2:$N$20));$A$1:$K$1))

Idem
=SOMME(SI($N$3:$N$21=$N$2;SI($A$3:$K$3=LIGNE($N$2:$N$20);$A$1:$K$1)))

Formules matricielles, à valider par ctrl, maj et entrée

Edit - Le fichier
 

Pièces jointes

  • SommeSiEmmanuel.zip
    2.5 KB · Affichages: 18
Dernière édition:

excel81

XLDnaute Nouveau
Re : Une somme conditionnelle récalcitrante

Merci bien, ça fonctionne (les trois formules). J'ai juste mis au début de la formule "$N$2:$N$21" au lieu de "$N$3:$N$21" (ce que je voulais faire pour la première valeur de N, j'ai besoin de le faire pour toutes) et remplacé "LIGNE($N$2:$N$20)" par l'adresse où je stocke les entiers de 1 à 20 (je les utilise souvent).

Vous m'avez enlevé une épine du pied.
 

Discussions similaires