NB.SI.ENS
La fonction NB.SI.ENS renvoie le nombre de cellules d’une ou plusieurs collections qui remplissent des conditions données (une condition par collection).
NB.SI.ENS(valeurs-test; condition; valeurs-test…; condition…)
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 expression condition doit obligatoirement être placée après chaque argument valeurs-test. Par conséquent, cette fonction présente toujours un nombre pair d’arguments.
Notes
Chaque valeur de valeurs-test est comparée à la condition correspondante. Si les valeurs correspondantes de chaque collection satisfont aux tests conditionnels correspondants, le nombre est augmenté de 1.
Exemples |
---|
Prenons le tableau suivant : |
A | B | C | D | |
---|---|---|---|---|
1 | Âge | Sexe | État civ. | Salaire |
2 | 35 | M | M | 71000 |
3 | 27 | F | M | 81000 |
4 | 42 | M | M | 86000 |
5 | 51 | M | C | 66000 |
6 | 28 | M | C | 52000 |
7 | 49 | F | C | 62000 |
8 | 63 | F | M | 89000 |
9 | 22 | M | M | 34000 |
10 | 29 | F | C | 42000 |
11 | 35 | F | M | 56000 |
12 | 33 | M | C | 62000 |
13 | 61 | M | M | 91000 |
=NB.SI.ENS(A2:A13; "<40"; B2:B13; "=M") renvoie 4, le nombre de personnes de sexe masculin (indiqué par un « M » dans la colonne B) qui ont moins de 40 ans. =NB.SI.ENS(A2:A13; "<40"; B2:B13; "=M"; C2:C13; "=C") renvoie 2, le nombre de personnes de sexe masculin qui sont célibataires (indiqué par un « C » dans la colonne C) et ont moins de 40 ans. =NB.SI.ENS(A2:A13; "<40"; B2:B13; "=M"; C2:C13; "=M") renvoie 2, le nombre de personnes de sexe masculin qui sont mariées (indiqué par un « M » dans la colonne C) et ont moins de 40 ans. =NB.SI.ENS(A2:A13; "<40"; B2:B13; "=F") renvoie 3, le nombre de personnes de sexe féminin (indiqué par un « F » dans la colonne B) qui ont moins de 40 ans. |
Exemple utilisant EXPREG |
---|
Prenons le tableau suivant : |
A | B | |
---|---|---|
1 | 45 | gilles@allain.com |
2 | 41 | Antoine |
3 | 29 | jeanne@allain.com |
4 | 64 | jacques@allain.com |
5 | 12 | Sarah |
=NB.SI.ENS(B1:B5; EXPREG("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"); A1:A5; ">10") renvoie le nombre de cellules dans A1:A5 qui sont supérieures à 10 et où la cellule correspondante dans B1:B5 contient une adresse courriel. |