Appliquer Formule aux cellules contenant le texte d'une autre ? [Résolu/Fermé]

Signaler
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
-
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
-
Bonjour,

Travaillant sur Excel 2007, je cherche à appliquer une formule à des cellules contenant le texte d'une autre cellule.

En pratique :

Dans une colonne donnée d'un tableur (disons A2:A9000), j'ai des entrées qui peuvent contenir les éléments texte d'une liste prédéfinie (disons a, b et/ou c). J'ai donc définie cette liste et l'ai appliquée à ma colonne A2:A9000. Néanmoins, certaines entrées (A2, A3, ...) peuvent contenir plusieurs réponses de la liste (par exemple : A4 = "a ; c").

Dans une formule externe au tableur qui me sert à comptabiliser successivement le nombre de a, de b puis de c de la colonne A2;A9000, je n'arrive pas à définir la condition pour obtenir les seules entrées de la colonne A2:A9000 qui contiennent a, b ou c sachant que ce n'est pas un texte strict.

En formule, j'avais auparavant la suivante qui fait intervenir une condition de plus que celle de la colonne A2:A9000. La cellule C5 est celle où se trouve a, b ou c (liste déroulante pour n'afficher que les résultats de la réponse choisie)

=NB(SI((B2:B9000<>"")*(A2:A9000=C5);D2:D9000))

N.B: dans cette formule que j'avais trouvée dans un forum, la plage D2:D9000 ne sert à rien de particulier (elle est d'ailleurs vide). Je ne saurais pas l'expliquer mais ça marche pour ajouter des conditions à un décompte.

Avec cette formule, ne sont comptabilisées que les réponses contenant STRICTEMENT a, b ou c. J'ai pourtant besoin d'avoir les réponses contenant AU MOINS a, b ou c en texte.

Merci d'avance pour votre aide, n'hésitez pas à me signaler tout élément pas assez clair dans mon explication :)

2 réponses

Messages postés
25460
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
29 octobre 2020
5 564
Bonjour
si ce n'est que pour compter les textes ou parties de textes présents de A2 à A9000
(sous réserve de bonne compréhension)

=NB.SI(A2:A9000;"*"&Z1&"*")
Z1 contenant le texte cherché

ou directement:
=NB.SI(A2:A9000;"*texte*")

pour info:
"texte*" le texte de la cellule débute par le texte cherché
"*texte" se termine par
"*texte*" contient n'importe où
crdlmnt
Errare humanum est, perseverare diabolicum
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
19
Bonjour Vaucluse,

Merci de ta réponse, cependant mon problème est que les * s'applique pour du texte entre guillemets "*texte*". Dans mon cas, j'ai besoin de faire référence à une cellule et non à un texte. Or, je ne peux pas mettre *C5* pour dire "qui contient le contenu de C5", car dès lors que je met un *, la formule ne reconnait plus la cellule C5..

J'ai essayé avec d'autres fonctions (CHERCHE notamment) mais sans résultat..

En espérant avoir précisé mon pb ;)
Messages postés
25460
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
29 octobre 2020
5 564
Non mais j'avais bien précisé l'option avec Z1 tu as du sauter une ligne:

NB.SI(A2:A9000;"*"&C5&"*")

qui prendra bien comme texte la valeur de C5!

crdlmnt
Messages postés
23599
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
27 octobre 2020
6 429
Bonjour,

cependant mon problème est que les * s'applique pour du texte entre guillemets "*texte*".
C'est que tu n'as pas bien lu la réponse de vaucluse
eric
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
19
AH oui en effer MERCI !!

J'ai utilisé cela avec la fonction NB.SI.ENS et ça marche !

J'ai par contre eu un problème, ça marche avec NB.SI.ENS(...) mais pas avec NB(SI(...)) que j'utilise...

Voici les formules précises sans banalisation des données :

Formule 1 que j'ai finalement utilisée et qui marche : =NB.SI.ENS('Suivi Contacts sur Salons'!H2:H9000;"<>";'Suivi Contacts sur Salons'!N2:N9000;"*"&I5&"*")

Formule 2 qui ne marche pas...: {={NB(SI(('Suivi Contacts sur Salons'!H2:H9000<>"")*('Suivi Contacts sur Salons'!N2:N9000=("*"&I5&"*"));A2:A9002))}

Mon résultat est 3 comme le vérifie la formule 1, alors que la formule 2 m'affiche 0..

Je n'ai pas besoin de réponse mais préférais poster mon souci au cas où d'autres le rencontreraient..

MERCI encore !