SOMME.SI.ENS
La fonction SOMME.SI.ENS renvoie la somme des cellules d’une collection dans laquelle les valeurs testées répondent aux conditions données.
SOMME.SI.ENS(valeurs-sommes; valeurs-test; condition; valeurs-test…; condition…)
valeurs-sommes : Collection comportant les valeurs dont on souhaite établir la somme. valeurs-sommes peut contenir des valeurs numériques, des valeurs de date/heure ou des valeurs de durée.
valeurs-test : Collection comportant les valeurs à tester. valeurs-test peut contenir une valeur quelconque.
condition : Une expression qui compare ou teste des valeurs et qui renvoie la valeur booléenne VRAI ou FAUX. Une condition peut comprendre des opérateurs de comparaison, des constantes, l’opérateur de concaténation esperluette, des références et des caractères génériques. Les caractères génériques permettent de faire correspondre un ou plusieurs caractères dans une expression. Vous pouvez utiliser ? (point d’interrogation) pour représenter un caractère, * (astérisque) pour représenter plusieurs caractères et ~ (tilde) pour indiquer que le caractère suivant doit être utilisé littéralement et non comme caractère générique. condition peut aussi contenir une fonction EXPREG plutôt que des caractères génériques.
valeurs-test… : Vous pouvez également ajouter une ou plusieurs collections contenant des valeurs à évaluer. Chaque collection de valeurs-test doit être immédiatement suivie d’une expression condition. Cette succession valeurs-test; condition peut être répétée autant de fois que nécessaire.
condition… : condition… est une expression supplémentaire qui renvoie une valeur booléenne VRAI ou FAUX, si une collection facultative de valeurs-test est précisée. Une condition doit obligatoirement être placée après chaque argument valeurs-test. Par conséquent, cette fonction présente toujours un nombre impair d’arguments.
Notes
Pour chaque paire de valeurs de test et de condition, la cellule ou valeur correspondante (même position dans la collection) est comparée à la condition. Si toutes les conditions sont remplies, la cellule ou sa valeur correspondante dans valeurs-sommes est intégrée au calcul de la somme.
Toutes les collections doivent présenter les mêmes dimensions.
Exemples |
---|
Prenons le tableau suivant : |
A | B | C | |
---|---|---|---|
1 | Tonnes | Classement | Date |
2 | 6 | 1 | 2012-12-10 |
3 | 15 | 2 | 2012-12-10 |
4 | 5 | 1 | 2012-12-13 |
5 | 7 | 2 | 2012-12-13 |
6 | 8 | 2 | 2012-12-14 |
7 | 6 | 1 | 2012-12-15 |
8 | 7 | 2 | 2012-12-15 |
9 | 4 | 2 | 2012-12-16 |
10 | 7 | 1 | 2012-12-16 |
11 | 8 | 2 | 2012-12-16 |
12 | 5 | 1 | 2012-12-17 |
13 | 11 | 2 | 2012-12-20 |
=SOMME.SI.ENS(A2:A13; B2:B13; "=1"; C2:C13; ">=2012-12-13"; C2:C13; "<=2012-12-17") renvoie 23, le nombre de tonnes de marchandises livrées au cours de la semaine du 17 décembre et classées « 1 ». La collection A2:A13 contient le nombre de tonnes, c’est-à-dire les valeurs à additionner (valeurs-sommes). La collection B2:B13 (valeurs-tests) contient la première valeur à tester pour un classement de 1 (condition). La collection C2:C13 (valeurs-test) contient la seconde valeur à tester afin d’obtenir une correspondance pour une date de départ (condition…). Ce même intervalle contient également la troisième valeur à tester, une date de fin. Les rangées 4 (5 tonnes), 7 (6 tonnes), 10 (7 tonnes) et 12 (5 tonnes) satisfont à toutes les conditions et leur somme est 23 tonnes. Vous pouvez aussi utiliser les opérateurs ≥ et ≤. =SOMME.SI.ENS(A2:A13; B2:B13; "=2"; C2:C13; ">=2012-12-13"; C2:C13; "<=2012-12-17") renvoie 34, le nombre de tonnes de marchandises livrées au cours de la même semaine et classées « 2 ». Vous pouvez aussi utiliser les opérateurs ≥ et ≤. =SOMME.SI.ENS(A2:A13; B2:B13; "<>2"; C2:C13; ">=2012-12-10"; C2:C13; "<=2012-12-20") renvoie 29, le nombre de tonnes de marchandises livrées pendant toute semaine qui n’était pas classée « 2 ». Vous pouvez aussi utiliser les opérateurs ≠, ≥ et ≤. |
Exemple utilisant EXPREG |
---|
Prenons le tableau suivant : |
A | B | |
---|---|---|
1 | 45 | marie@example.com |
2 | 41 | Antoine |
3 | 29 | michael@example.com |
4 | 64 | jacques@example.com |
5 | 12 | Sarah |
=SOMME.SI.ENS(A1:A5, B1:B5,EXPREG("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})",), A1:A5, ">10") renvoie 138, la somme des cellules dans A1:A5 qui sont supérieures à 10 et où la cellule correspondante dans B1:B5 contient une adresse courriel. |