Cellules qui contiennent le mot PF et non PFM ou PFMRE ect

Résolu
Marie Chant Messages postés 136 Date d'inscription   Statut Membre Dernière intervention   -  
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour tout le monde,

Je n'arrive pas en Excel à savoir quelles cellules contiennent seulement le mot PF parmi d'autres mots dans la cellule.

J'ai essayé =NB.SI($B$3:$B$429;"PF*") et =NB.SI($B$3:$B$429;"*PF*") mais cela me donne ceux qui commence par PF ou ceux qui renferme PF.

J'ai besoin de savoir seulement ceux qui ont PF dans le texte, pas PFM, ou PFMRE ou PFI ou PFMR juste ceux qui renferme le mot PF.

La réponse devrait me donner juste (2) VRAI si je veux juste les PF

Voici mon exemple:

Dans ma colonne B j'ai des cellules qui contiennent ceci

en B1: PAP (AE; PFI; PF; PFM; PFMRE)

en B2: AC (FC; AI; PF)

en B3 : PF (AE; AIO; FRC; PFM; PFMR)

en B4 : AM (AC; AIC; PFRM; PFIN)

Merci mille fois pour votre aide.



Windows / Edge 131.0.0.0


A voir également:

4 réponses

NonoM45 Messages postés 770 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour MC

Une possibilité, mais à voir

=NB.SI($B$1:$B$249;"* PF;*")+NB.SI($B$1:$B$249;"* PF)")+NB.SI($B$1:$B$249;"PF (*")

A+

1
Marie Chant Messages postés 136 Date d'inscription   Statut Membre Dernière intervention   9
 

Merci, NonoM45. j'ai essayé mais ca ne fonctionne pas car ca inclus tout ceux qui ont le PF (PF,PFM,PFMRM, etc)

J'ai recu ceci de Daniel et cela fonctionne. j'ai ajouté un colonne après la colonne B et j'ai inscrit la formule de Daniel.

=SI(SOMME(N(FRACTIONNER.TEXTE(B1;{".";";";"(";")";" "})="MISR"))>0;"trouvé";"pas trouvé")

C'est une autre façon pour avoir mon résultat et cela fonctionne.

Merci beaucoup à vous ! c'est apprécié

MC

1
Marie Chant Messages postés 136 Date d'inscription   Statut Membre Dernière intervention   9
 

Bonjour Daniel,

SUPER cela fonctionne très bien. Je te remercie tellement pour ton aide.

Je te souhaite de très Joyeuses Fêtes1 tu viens de faire ma journée même si ici c'est du verglas!☺

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > Marie Chant Messages postés 136 Date d'inscription   Statut Membre Dernière intervention  
 

Bonnes fêtes également !

Daniel

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229
 

Bonjour à tous,

Une solution avec Excel 365 :

=SI(SOMME(N(FRACTIONNER.TEXTE(B1;{".";",";";";"(";")";" "})="PF"))>0;"trouvé";"pas trouvé")

Daniel


1
Marie Chant Messages postés 136 Date d'inscription   Statut Membre Dernière intervention   9
 

Bonjour Daniel,

Merci beaucoup. Cela fonctionne très bien. J'ai ajouté une colonne après la B et inscrit la formule. Cela me donne le résultat dont j'ai besoin.

Est-ce possible d' être dans une cellule vierge et demander combien j'ai de cellule dans la B qui me donne seulement PF? si je fais de B1 à B4 cela le résultat serait 3

Est ce faisable?

Merci de ton aide Daniel

1
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > Marie Chant Messages postés 136 Date d'inscription   Statut Membre Dernière intervention  
 

Il faut ajouter une colonne intermédiaire de calcul avec la formule :

=SOMME(N(FRACTIONNER.TEXTE(B1;{".";",";";";"(";")";" "})="PF"))

Je regarde s'il est possible de faire le calcul directement.

Daniel

1
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > Marie Chant Messages postés 136 Date d'inscription   Statut Membre Dernière intervention  
 

Sans colonne intermédiaire :

=REDUCE(0;B1:B4;LAMBDA(x;y;x+SOMME(N(FRACTIONNER.TEXTE(y;{".";",";";";"(";")";" "})="PF"))))

Daniel

1
Marie Chant Messages postés 136 Date d'inscription   Statut Membre Dernière intervention   9 > danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour Daniel,

Merci pour ta réponse. J'aime bien la réponse sans colonne intermédiaire mais le problème est que si le mot PF se trouve deux fois dans la cellule il en compte 2. Je voudrais qu'il m'en compte seulement 1 par cellule exemple:

en B1: PAP (AE; PFI; PF; PFM; PFMRE) ici c'est 1 fois

en B2: AC (FC; AI; PF) ici c'est une fois

en B3 : PF (AE; AIO; FRC; PF; PFM; PFMR) ici c'est 1 fois même s'il est écrit deux fois.

en B4 : AM (AC; AIC; PFRM; PFIN) ici c'est 0. Alors résultat serais 3

Merci beaucoup!

1
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > Marie Chant Messages postés 136 Date d'inscription   Statut Membre Dernière intervention  
 

Essaie :

=REDUCE(0;B1:B4;LAMBDA(x;y;x+SI(SOMME(N(FRACTIONNER.TEXTE(y;{".";",";";";"(";")";" "})="PF"))>0;1;0)))

Daniel

1
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229
 

Bonjour DjiDjji59430,

En l’occurrence, REDUCE fait le job sans colonne intermédiaire. Il faut par contre se passer de NB.SI.

https://www.cjoint.com/c/NLmolSBJ0h4

Daniel


1
DjiDji59430 Messages postés 4253 Date d'inscription   Statut Membre Dernière intervention   700
 

Oui,,mais ça compte 2 PF de B3 alors que le premier, d'apres MC ne devrait pas etre compté. dans son exemple c'est

PF (AE; AIO; FRC; PF; PFM; PFMR)

et pas

PF (AE; AIO; FRC; PFM; PFMR) comme tu as fait

D'ou ma remarque


Crdlmt

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > DjiDji59430 Messages postés 4253 Date d'inscription   Statut Membre Dernière intervention  
 

Je ne crois pas :

Ou j'ai mal compris ?

Daniel

0
bigoudiii Messages postés 274 Date d'inscription   Statut Membre Dernière intervention   91
 

Hello à tous,

Sûrement un peu tard, mais un essai qui semble donner le résultat souhaité, avec NB.SI et un critère matrice (sous réserve de ne pas avoir d'autres séparateurs).

à commenter :

=SOMME(N(MAP(B1:B4;LAMBDA(p;MAX(NB.SI(p;"*PF"&{";".")"." "}&"*"))>0))))
0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229
 

Bonjour bigoudiii,

Il me semble que ça ne fonctionne pas s'il y a un plusieurs caractères avant PF :

Daniel

0
bigoudiii Messages postés 274 Date d'inscription   Statut Membre Dernière intervention   91 > danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention  
 

 Re,

Exact, il y avait aussi d'autres lacunes. C'était surtout pour utiliser NB.SI :

=SOMME(N(MAP(B1:B10;LAMBDA(p;MAX(NB.SI(p;{"PF "."*(PF;"."* PF; "."* PF)"}&"*"))>0))))

Cela peut être suffisant selon les données, ...

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > bigoudiii Messages postés 274 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour à tous,

NB.SI fonctionne avec ta formule parce qu'il s'applique à une cellule à la fois. Le problème survient quand on entre une matrice de cellules exemple :

=nb.si(ASSEMB.V(A1;A2);"x")

dont la syntaxe n'est pas acceptée :

Daniel

0
bigoudiii Messages postés 274 Date d'inscription   Statut Membre Dernière intervention   91 > danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention  
 

Hello,

Non, il y a méprise, on ne parle pas de la même chose.

Le premier paramètre (Plage) de portée, n'accepte effectivement qu'une plage de cellule et pas une matrice.

Le second paramètre (critère) d'entrée accepte tout à fait une matrice.

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > bigoudiii Messages postés 274 Date d'inscription   Statut Membre Dernière intervention  
 

On va finir par être d'accord, alors ;-)

Daniel

0