Aller au contenu principal

NB.SI et NB.SI.ENS n'acceptent que des plages, pas des tableaux de données.

Problème et explication

Si vous n'avez rien compris au titre, regardez ce qui se passe entre ces deux formules :

=NB.SI.ENS(A1:A3;"x")

fonctionne normalement.

Mais, si vous sélectionnez A1:A3 puis appuyez sur F9 pour lancer le calcul, il devient impossible de valider :

=NB.SI.ENS({1;"x";1};"x")

En effet, A1:A3 est une plage, alors que {1;"x";1} est un tableau de données.
La fonction NB.SI.ENS n'accepte pas de tableaux de données comme premier argument.

Cas d’usage problématique

Solution 1

Par exemple :

=NB.SI.ENS(CHOISIRCOLS(A1:B3;2);"x")

ne va pas fonctionner, car CHOISIRCOLS retourne un tableau de données et non une plage.

Mais :

=NB.SI.ENS(INDEX(A1:B3;;2);"x")

va fonctionner, car INDEX retourne la 2? colonne en tant que plage.

Autre solution

On peut ainsi scinder la formule, ce qui va nous donner ceci :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


La période de vérification reCAPTCHA a expiré. Veuillez recharger la page.

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.