Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

nbsi

22 réponses
Avatar
marc
Bonjour à vous tous
Voici mon problème
Dans la colonne A, j'ai des âges et dans la colonne B, le titre. J'aimerais
avoir dans la cellule E2, le nombre de personnes qui répondent au critères
suivant.
age doit être <=69
titre doit être C1

Je cherche une formule, pas une macro en vba, svp.

Voici un fichier pour vous aider à mieux comprendre.
http://cjoint.com/?dvojcP5urc

merci de votre aide
Marc

2 réponses

1 2 3
Avatar
Francis
Bonjour Marc,

N'empêche que la fonction proposée par Isabelle a plusieurs avantages.
Notamment, que tu pourrais reprendre le résultat dans VBA de manière à aller
plus loin.
Mais sans faire aussi fort, tu peux utiliser l'Excel interactif classique,
en passant par DonnéesFiltrer...
Je te joins un exemple, dans lequel je me suis permis de t'installer
également la fonction personnalisée d'Isabelle, de façon à t'en montrer
l'utilité. J'espère qu'elle me pardonnera mon outrecuidance.
http://www.cijoint.fr/cjlink.php?file=cj200804/cij2pVL10A.xls

"isabelle" a écrit dans le message de news:

je me repend et me reprend,

il faut valider avec enter,

isabelle

Bonjour Isabelle
est-ce que tu saurais pourquoi les réponses ne sont pas exact? C'est sur
que j'apprécierais beaucoup plus une réponse avec une formule versus une
fonction perso.

Merci de ton aide


"isabelle" a écrit dans le message de news:

bonjour Marc,

est ce qu,une fonction perso ferait l'affaire ?

=Nbr_Filtrer(A2:B81)

Function Nbr_Filtrer(plg As Range) As Integer
x = plg.Rows.Count
For i = 2 To x + 1
If Cells(i, plg(1).Column) <= 69 And Cells(i, plg(2).Column) = "C1" Then
Nbr_Filtrer = Nbr_Filtrer + 1
Next
End Function


isabelle

Bonjour Isabelle
de mon côté le même fichier donne 15.
Je m'explique
Je filtre uniquement les gens qui ont C1 dans titre, cela donne 18,
mois ceux qui ont 69 ans (et mois), il y en a 3 qui ont plus de 69
(74,73et 73 ans), le résultat devrait donner 15, c'est ce que j'ai dans
mon document.

merci de ton aide
Marc
"isabelle" a écrit dans le message de news:
%
bonjour Marc,

d'après le classeur que tu as mit en ligne
la formule est : {=NB.SI(B2:B82;"C1")*(A2:A82<i)}
qui donne 18
et le filtre donne aussi 18

isabelle

Bonjour
Voici une formule que j'ai trouvé dans un autre document.
C'est une formule matricielle qui utilse la fonction NB.SI
Par contre, si vous prenez le même document que j'ai envoyé, en
utilisant la fonction suivante
{=NB.SI(A2:A82;"C1")*(B2:B82<i)}
j'arrive à un résultat de 18. Quand je fais un filtre, la réponse est
15.
Est-ce que quelqu'un peut m'aider, svp.
Merci encore de votre aide
Marc

"Modeste" a écrit dans le message de news:

Bonsour® marc avec ferveur ;o))) vous nous disiez :

Par curiosité,si j'avais voulu utiliser la fonction nb.si, avec les
deux critères, comment aurais-je pu écrire cette fonction.
;-((

NB.SI n'admet qu'un seul critère !!!

contournement possible en créant en colonne C
=1*(B2=$C$1)
etendre vers le bas autant que nécessaire
la formule à utiliser( sera alors :
=SOMME.SI(A2:A82;"<i";C2:C82)



--
--
@+
;o)))


















Avatar
Francis
Bonjour Marc,

N'empêche que la fonction proposée par Isabelle a plusieurs avantages.
Notamment, que tu pourrais reprendre le résultat dans VBA de manière à aller
plus loin.
Mais sans faire aussi fort, tu peux utiliser l'Excel interactif classique,
en passant par DonnéesFiltrer...
Je te joins un exemple, dans lequel je me suis permis de t'installer
également la fonction personnalisée d'Isabelle, de façon à t'en montrer
l'utilité. J'espère qu'elle me pardonnera mon outrecuidance.
http://www.cijoint.fr/cjlink.php?file=cj200804/cij2pVL10A.xls



"marc" a écrit dans le message de news:

Bonjour Isabelle
est-ce que tu saurais pourquoi les réponses ne sont pas exact? C'est sur
que j'apprécierais beaucoup plus une réponse avec une formule versus une
fonction perso.

Merci de ton aide


"isabelle" a écrit dans le message de news:

bonjour Marc,

est ce qu,une fonction perso ferait l'affaire ?

=Nbr_Filtrer(A2:B81)

Function Nbr_Filtrer(plg As Range) As Integer
x = plg.Rows.Count
For i = 2 To x + 1
If Cells(i, plg(1).Column) <= 69 And Cells(i, plg(2).Column) = "C1" Then
Nbr_Filtrer = Nbr_Filtrer + 1
Next
End Function


isabelle

Bonjour Isabelle
de mon côté le même fichier donne 15.
Je m'explique
Je filtre uniquement les gens qui ont C1 dans titre, cela donne 18, mois
ceux qui ont 69 ans (et mois), il y en a 3 qui ont plus de 69 (74,73et
73 ans), le résultat devrait donner 15, c'est ce que j'ai dans mon
document.

merci de ton aide
Marc
"isabelle" a écrit dans le message de news:
%
bonjour Marc,

d'après le classeur que tu as mit en ligne
la formule est : {=NB.SI(B2:B82;"C1")*(A2:A82<i)}
qui donne 18
et le filtre donne aussi 18

isabelle

Bonjour
Voici une formule que j'ai trouvé dans un autre document.
C'est une formule matricielle qui utilse la fonction NB.SI
Par contre, si vous prenez le même document que j'ai envoyé, en
utilisant la fonction suivante
{=NB.SI(A2:A82;"C1")*(B2:B82<i)}
j'arrive à un résultat de 18. Quand je fais un filtre, la réponse est
15.
Est-ce que quelqu'un peut m'aider, svp.
Merci encore de votre aide
Marc

"Modeste" a écrit dans le message de news:

Bonsour® marc avec ferveur ;o))) vous nous disiez :

Par curiosité,si j'avais voulu utiliser la fonction nb.si, avec les
deux critères, comment aurais-je pu écrire cette fonction.
;-((

NB.SI n'admet qu'un seul critère !!!

contournement possible en créant en colonne C
=1*(B2=$C$1)
etendre vers le bas autant que nécessaire
la formule à utiliser( sera alors :
=SOMME.SI(A2:A82;"<i";C2:C82)



--
--
@+
;o)))


















1 2 3