Fonction NB.SI.ENS
Renvoie le nombre de cellules qui correspond aux critères dans des plages multiples.
Cette fonction est disponible depuis LibreOffice 4.0
NB.SI.ENS(plage_1;critère_1[;plage2;critère2[;...]])
plage_1 - argument requis. C'est une plage de cellules, un nom d'une plage nommée ou une étiquette d'une colonne ou d'une ligne contenant les valeurs pour compter et rechercher le critère correspondant.
Critère1 - argument requis. Une expression de chaîne représentant une condition logique ou une référence de cellule à une telle expression de chaîne. L'expression peut contenir du texte, des nombres, des expressions régulières ou des caractères génériques ( si activé dans les options de calcul).
Plage2 – Facultatif. Plage2 et tous les arguments suivants ont la même signification que Plage1.
critère2 – facultatif. Critère2 et tous les autres ont la même signification que critère1.
The search supports wildcards or regular expressions. With regular expressions enabled, you can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in .
When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".
plage1,plage2,... et critère1,critère2,...doivent avoir la même taille, sinon la fonction renvoie err:502 - argument incorrecte.
La relation logique entre les critères peut être définie comme ET logique (conjonction). En d'autres termes, si et seulement si tous les critères donnés sont satisfaits, une valeur de la cellule correspondante de la plage donnée Plage_Fonction est prise en compte dans le calcul.
La fonction peut avoir jusqu'à 255 arguments, ce qui signifie que 127 plages de critères et critères peuvent leur être spécifié
Si une cellule contient VRAI, elle est traitée comme 1, si une cellule contient FAUX - comme 0 (zéro)
Cette fonction fait partie du standard Open Document Format for Office Applications (Open Document) Version 1.2 (ISO/IEC 26300:2-2015)
Examinez le tableau suivant
|
A
|
B
|
C
|
1
|
Nom du produit
|
Ventes
|
Chiffre d'affaires
|
2
|
crayon
|
20
|
65
|
3
|
stylo
|
35
|
85
|
4
|
bloc-notes
|
20
|
190
|
5
|
livre
|
17
|
180
|
6
|
trousse
|
non
|
non
|
Dans tous les exemples ci-dessous, les plages de calcul contiennent la ligne #6, qui est ignorée parce qu'elle contient du texte.
Usage simple
=NB.SI.ENS(B2:B6;">=20")
Compte le nombre de lignes de la plage B2:B6 avec des valeurs supérieures ou égales à 20. Renvoie 3, parce que les cinquième et sixième lignes ne correspondent pas au critère.
=NB.SI.ENS(B2:B6;">=20";C2:C6;">70")
Compte le nombre de lignes qui contiennent simultanément des valeurs supérieure à 70 dans la plage C2:C6 et des valeurs supérieures ou égales à 20 dans la plage B2:B6. Renvoie 2, parce que les seconde, cinquième et sixième lignes ne répondent pas à au moins un critère.
Utilisation des expressions régulières et des fonctions imbriquées
=NB.SI.ENS(B2:B6;"[:alpha:]*")
Compte le nombre de lignes de la plage B2:B6 qui contiennent uniquement des symboles de l'alphabet. Renvoie 1 parce que seulement la ligne 6 correspond au critère.
=NB.SI.ENS(B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6))
Compte le nombre de lignes de la plage B2:B6 en excluant les lignes contenant les valeurs minimum et maximum de cette plage. Renvoie 2 parce que les troisième, cinquième et sixième lignes ne correspondent pas à au moins un critère.
=NB.SI.ENS(A2:A6;"crayon.*";B2:B6;"<"&MAX(B2:B6))
Compte le nombre de lignes qui correspond à toutes les cellules de la plage A2:A6 commençant par "crayon" et toutes les cellules de la plage B2:B6 à l'exception de son maximum. Renvoie 1 parce qu'uniquement la seconde ligne correspond à tous les critères.
Référence à une cellule comme critère
Si vous avez besoin de modifier facilement un critère, vous le spécifiez dans une cellule séparée et utilisez une référence à cette cellule dans la condition de la fonction NB.SI.ENS. Par exemple, la fonction ci-dessous peut être réécrite de la façon suivante :
=NB.SI.ENS(A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6))
Si E2=crayon, la fonction renvoie 1 parce que le lien à la cellule est substitué par son contenu et cela fonctionne comme une fonction ci-dessus.