Contenu

# NB.SI.ENS

Renvoie le nombre de cellules qui correspond aux critères dans des plages multiples.

Cette fonction est disponible depuis la version 4.0 de LibreOffice.

### Syntaxe

NB.SI.ENS(plage;critère[;plage2;critère2][;...;[plage127;critère127]])

plage1 - argument requis. C'est une plage de cellules, un nom d'une plage nommée, ou une étiquette de colonne ou de ligne, auquel le critère correspondant est appliqué.

Critère 1 : un critère est une expression textuelle calculée à partir d'une seule référence de cellule, d'une formule, d'un nombre ou d'un texte. Il est utilisé dans les comparaisons avec le contenu des cellules.

Une référence à une cellule vide est interprétée comme la valeur numérique 0.

Une expression correspondante peut être :

- Un nombre ou une valeur logique. Un contenu de cellule correspondant est égal au nombre ou à la valeur logique.

- Une valeur commençant par un comparateur (<, <=, =, >, >=, <>).

  Pour =, si la valeur est vide, elle correspond aux cellules vides.

  Pour <>, si la valeur est vide, elle correspond aux cellules non vides.

  Pour <>, si la valeur n'est pas vide, elle correspond à n'importe quel contenu de cellule à l'exception de la valeur, y compris les cellules vides.

  Remarque : "=0" ne correspond pas aux cellules vides.

  Pour = et <>, si la valeur n'est pas vide et ne peut pas être interprétée comme un type numérique ou un de ses sous-types et que la propriété Les critères de recherche = et <> doivent s'appliquer à des cellules entières est cochée, la comparaison s'effectue par rapport à l'intégralité du contenu de la cellule, si elle n'est pas cochée, la comparaison s'effectue par rapport à toute sous-partie du champ qui correspond aux critères. Pour = et <>, si la valeur n'est pas vide et ne peut pas être interprétée comme un type numérique ou un de ses sous-types s'applique.

- Autre valeur de texte. Si la propriété Critères de recherche = et <> doivent s'appliquer à des cellules entières est vraie, la comparaison est effectuée par rapport au contenu de la cellule entière, si elle est fausse, la comparaison est effectuée par rapport à toute sous-partie du champ qui correspond aux critères. 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 suivants ont la même signification que Critère.

La recherche prend en charge les caractères génériques ou les expressions régulières. Lorsque les expressions régulières sont activées, vous pouvez entrer "tout.*", par exemple pour trouver le premier emplacement de "tout" suivi de n'importe quel caractère. Si vous souhaitez rechercher un texte qui est également une expression régulière, vous devez soit faire précéder chaque métacaractère ou opérateur d'expression régulière d'un caractère "\", soit placer le texte entre \Q...\E. Vous pouvez activer et désactiver l'évaluation automatique des caractères génériques ou des expressions régulières dans LibreOffice - Préférences Outils - Options - LibreOffice Calc - Calculer .

Lorsque vous utilisez des fonctions où un ou plusieurs arguments sont des chaînes de critères de recherche qui représentent une expression régulière, la première tentative consiste à convertir les critères de chaîne en nombres. Par exemple, ".0" se convertira en 0.0 et ainsi de suite. En cas de succès, la correspondance ne sera pas une correspondance d'expression régulière mais une correspondance numérique. Cependant, lorsque vous passez à un environnement local où le séparateur décimal n'est pas le point, la conversion d'expression régulière fonctionne. Pour forcer l'évaluation de l'expression régulière au lieu d'une expression numérique, utilisez une expression qui ne peut pas être mal interprétée comme numérique, telle que ". [0]" ou ".\0" ou "(?I) .0".

plage,plage2,... et critère,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és.

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)

### Exemples

Examinez le tableau suivant

| A | B | C
1 | Nom du produit | Sales | Revenue
2 | stylo-plume | 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

Pour que ces exemples fonctionnent comme décrits, assurez-vous que Activer les expressions régulières dans les formules est sélectionné dans LibreOffice - Préférences Outils - Options - LibreOffice Calc - Calculer.

=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.

Rubriques connexes

Page de wiki NB.SI.ENS.

NB, NB.SI, NB.VIDE, NBVAL

NB.SI.ENS, MIN.SI, MAX.SI, MOYENNE.SI.ENS, SOMME.SI.ENS

Liste des expressions régulières