Chercher dans une cellule la présence d'un mot clef

74jiji Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai une cellule contenant un descriptif, et j'ai une liste de référence avec des mots clefs appartenant à des catégories. J'aimerais associé le descriptif à une catégorie

Donc en gros j'aimerais savoir si au moins un des mots clefs d'une catégorie est présent dans le descriptif et si oui alors j'associe mon descriptif au titre de cette catégorie.


expl:
en A1 le titre « Fruit » en A2 : pomme en A3 :poire en A4 :orange
en B1 le titre « Légume » en B2 :carotte en B3 :courgette en B4 :haricot

en C1 le descriptif « jean mange une pomme" je voudrais mettre en D1 le résultat qui est ici Fruit

J'espère que c'est assez clair
Merci pour votre aide
A voir également:

3 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour

Une possibilité (s'il 'y a pas beaucoup de critères)

=SI(NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(C1;A2;"");A3;"");A4;""))<NBCAR(C1);A1;"") & SI(NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(C1;B2;"");B3;"");B4;""))<NBCAR(C1);B1;"")

Sinon il faut passer par une macro en VBA

Cdlmnt

0
74jiji Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Dans mon cas j'ai 10 catégories de 50 mots clefs :-(
j'avais pensé aussi à un SI et un RechercheV mais trop lourd...

Je pensais que l'on aurait un type de fonction comme CHERCHE qui aurait pu être:

CHERCHE-dans-liste(Tableau_de_valeur;Lieu_de_recherche;Resultat;Parametres) avec

Tableau de valeur : une liste de mots clefs
Lieu de recherche : une cellule ou un tableau
Résultat : une valeur précise que l'on veut ou par défaut 1 si OK 0 si NOK
Paramètres: 0 pour « contient au moins une valeur » et 1 pour « contient toutes les valeurs »

Mais bon je crois que je vais devoir me la créer moi-même cette fonction

Merci en tout cas
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
essayez ceci, mais je ne garantis pas la bonne compréhension du problème
votre liste de référence de A1 à A50 (sans cellule vide)
votre liste de texte à traiter de B1 à B1000
de C1 à C1000, la formule à tirer:

=SI(SOMMEPROD((NB.SI(C1;"*"&$A$1:$A$50&"*"))*1)>0;"présent";"vide")

cette formule vous renvoie présent (ou fera autre chose selon besoins) si un des textes en A1:A50 est présent dans le texte en C

Attention aux signes!!
crdlmnt

Errare humanum est, perseverare diabolicum
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

pourquoi ne pas mettre dans des colonnes qui pourraient être masquée 1 pour tester les fruits en F2 par exemple

=SI(A2="";"";NB.SI($C$1;"*"&A2&"*")) et incrémenter vers le bas

puis tester avec une conditionnelle si la colonne est supérieure = 1 résultat Fruit

idem pour les Légumes etc ...

ou on se limite à une colonne en espérant que dans la phrase il n'y ait pas un fruit et un légume avec cette formule imbriquée qu'il est possible d'allonger pour les fromages, les viandes etc ...

=SI(A2="";"";SI(NB.SI($C$1;"*"&A2&"*")>0;$A$1;SI(B2="";"";SI(NB.SI($C$1;"*"&B2&"*")>0;$B$1;""))))

ensuite il suffit de tester si le mot Fruit ou Légume est présent dans la colonne

https://www.cjoint.com/?DBBotCuvLKD
0