Formule Excel: somme des n dernières valeurs avec des critères -

Table des matières

Formule générique

(=SUM(SMALL(IF(range1=criteria,range2),(1,2,3,N))))

Sommaire

Pour additionner les n dernières valeurs dans une plage de critères de correspondance, vous pouvez utiliser une formule matricielle basée sur la fonction SMALL, enveloppée dans la fonction SUM. Dans la forme générique de la formule (ci-dessus), range1 représente la plage de cellules par rapport aux critères , range2 contient des valeurs numériques à partir desquelles les valeurs inférieures sont extraites et N représente "nième".

Dans l'exemple, la cellule active contient cette formule:

=SUM(SMALL(IF(color=E5,value),(1,2,3)))

Où la couleur est la plage nommée B5: B12 et la valeur est la plage nommée C5: C12.

Remarque: il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée.

Explication

Dans sa forme la plus simple, SMALL renvoie la valeur "Nième plus petite" dans une plage avec cette construction:

=SMALL (range,N)

Ainsi, par exemple:

=SMALL (C5:C12,2)

renverra la 2ème plus petite valeur dans la plage C5: C12, qui est 5 dans l'exemple illustré.

Cependant, si vous fournissez une "constante de tableau" (par exemple une constante de la forme (1, 2, 3)) à SMALL comme deuxième argument, SMALL renverra un tableau de résultats au lieu d'un seul résultat. Donc, la formule:

=SMALL (C5:C12, (1,2,3))

renverra la première, la deuxième et la troisième plus petite valeur C5: C12 dans un tableau comme celui-ci: (4,5,7).

Donc, l'astuce ici est de filtrer les valeurs en fonction de la couleur avant que SMALL ne s'exécute. Nous faisons cela avec une expression basée sur la fonction IF:

IF(color=E5,value)

Cela construit le tableau des valeurs introduites dans SMALL. Essentiellement, seules les valeurs associées à la couleur rouge font partie du tableau. Lorsque la couleur est égale à «rouge», le tableau contient un nombre, et lorsque la couleur n'est pas rouge, le tableau contient FALSE:

SMALL((12;FALSE;10;FALSE;8;4;FALSE;FALSE),(1,2,3)))

La fonction SMALL ignore les valeurs FALSE et renvoie les 3 plus petites valeurs du tableau: (4,8,10). La fonction SOMME renvoie le résultat final, 22.

Articles intéressants...