Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Nb.SI critere non consecutifs?

DrEssex

XLDnaute Nouveau
Bonjour
je cherche comme utiliser la fonction NB.SI, avec des critère non consécutive.

Par exemple

je veux que tester les cellules, A2 , A5, A8, A12, A13, A16... si elles contiennent la lettre p par exemple...

pour l'instant je ne trouve pas la bonne syntaxe...

merci d'avance
 

wilfried_42

XLDnaute Barbatruc
Re : Nb.SI critere non consecutifs?

Bonjour

le Nb.si ne fonctionne pas sur les plages discontinues, j'ai essayé aussi avec une plage nommée discontinue et avec une formule matricielle, meme probleme

sinon
Nb.si(A1:A16;"*p*") donne la bonne valeur

dans une feuille calcul (par exemple)
tu mets en
A1 =Feuil1!A2
A2 =Feuil1!A5
A3 =Feuil1!A8
etc
et la formule suivante
=Nb.Si(Calcul!A:A;"*p*")
 

wilfried_42

XLDnaute Barbatruc
Re : Nb.SI critere non consecutifs?

re:

Bon, j'ai reflechi un peu plus et ca à l'air de fonctionner :

Voici une Fonction personnalisée qui convertit une plage discontinue en plage continue, il faut la placer dans un module :

Code:
' transformer une plage discontinue en table continue
Function trf_plage(plage As Range) As Variant
    Dim cel As Range, i As Long, tablo() As Variant
    Application.Volatile
    i = -1
    For Each cel In plage
        i = i + 1
        ReDim Preserve tablo(i)
        tablo(i) = cel.Value
    Next
    trf_plage = tablo
End Function

ensuite tu sélectionnes tes différentes cellule, Ctrl + Click, tu nommes ta plage

la formule matricielle : (ne fontionne pas avec un nb.si) à valide avec Ctrl + Maj + Entrée
Code:
=SOMME(SI(ESTERREUR(CHERCHE("*p*";trf_plage(plage)));0;1))
si la validation est bien faite, des {} encadrent automatiquement la formule
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…