Excel, fonction "estnum", "cherche", "et"

anth33 Messages postés 7 Statut Membre -  
anth33 Messages postés 7 Statut Membre -

Bonjour,

Alors, je vais essayer d'être précis ^^

je suis actuellement en train d'utiliser la fonction :

SI(SOMMEPROD(--ESTNUM(CHERCHE( [ma liste 1] ;A1])));"Plomberie";;SI(SOMMEPROD(--ESTNUM(CHERCHE( [ma liste 2] ;A1])));"Toitures";.........

afin de déterminé, si ma cellule contiens un mot contenu dans une liste que j'ai établi avant.

L'idée étant un catégorisé mes interventions, pour établir des stats.

Actuellement cela fonctionne parfaitement, si je ne cherche qu'un seul mot de ma liste dans ma cellule.

Maintenant, je voudrai, la combiné avec la fonction "ET"

et du coup, au lieu d'utiliser une liste, pour voir si l'un des mots de la liste est présent, je voudrait voir si plusieurs mot sont présent dans ma cellule.

Du style :

SI(SOMMEPROD(--ESTNUM(CHERCHE(et( [mot 1] ; [mot 2] );A1])));"Plomberie";......

pour facilité mon besoin.

Je cherche à dispatché mes interventions selon plusieurs catégorie selon leur intitulé comme je l'ai expliquer plus haut.

et par exemple, il est compliqué lorsque par exemple j'ai une "Fuite d'eau" de faire la différence entre une fuite d'eau wc et fuite d'eau toiture.

mon idée, c'est que si mon intitulé contient "fuite" et "toiture" => alors je renvoi "toiture"

alors que si mon intitulé contient "fuite" et "sanitaire" => alors je renvoi "plomberie"

je sais pas si j'ai été assez clair dans mes explications.

Petite précision également, je cherche une solution avec des formules, puisque je n'y connait absolument rien en VBA ^^ 

Merci d'avance
Windows / Chrome 127.0.0.0

A voir également:

8 réponses

Résumé de la discussion

Le besoin est de catégoriser des interventions à partir de mots-clés présents dans une description, avec une logique AND lorsque plusieurs termes doivent figurer pour attribuer une catégorie (par exemple « fuite » et « toiture » → « toiture »).
Plusieurs approches Excel sans VBA ont été proposées, notamment l’usage de SOMMEPROD avec ESTNUM(CHERCHE()) pour compter les mots-clés trouvés et une condition >1 pour exiger plusieurs correspondances, version qui peut nécessiter une saisie matricielle sur les anciennes versions d’Excel.
Pour Excel 365, des solutions reposant sur des tableaux structurés et des plages dynamiques permettent d’ajouter des critères sans modifier les formules, et des variantes combinent EQUIV avec des jokers et SOMME pour déterminer la catégorie correspondante.
Des exemples concrets illustrent une formule évaluant plusieurs listes de mots-clés par catégorie et renvoyant la catégorie correspondante lorsque les mots apparaissent dans la description, avec des approches utilisant INDEX et EQUIV selon les préférences.

Généré automatiquement par IA
sur la base des meilleures réponses
danielc0 Messages postés 2053 Date d'inscription   Statut Membre Dernière intervention   248
 

Bonjour,

Avec cette disposition :

En C1 :

=SOMME(SI(ESTNUM(EQUIV("*"&G1:G4&"*";A1;0));1;0))>1

Pour les versions antérieures à Excel 2019, valider matriciellement (Ctrl+Maj+Entrée)

Daniel


1
anth33
 

Voici le liens avec un fichier test pour expliquer mon besoin de manière plus précise

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

0
Le Pingou Messages postés 12653 Date d'inscription   Statut Contributeur Dernière intervention   1 465
 

Bonjour,

Merci pour le fichier.

Je suppose que la proposition de danielc0 ne convient pas?


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

Bonjour à tous,

En D13 :

=SI(SOMME(SI(ESTNUM(EQUIV("*"&$G$3:$G$9&"*";[@[Description OT]];0));1;0))>0;"Plomberie";"")&SI(SOMME(SI(ESTNUM(EQUIV("*"&$H$3:$H$6&"*";[@[Description OT]];0));1;0))>0;"Routes-marquages au sol";"")&SI(SOMME(SI(ESTNUM(EQUIV("*"&$I$3:$I$10&"*";[@[Description OT]];0));1;0))>0;"Huisseries-menuiseries-metallerie";"")&SI(SOMME(SI(ESTNUM(EQUIV("*"&$J$3:$J$5&"*";[@[Description OT]];0));1;0))>0;"sol-peinture-petits travaux interieur";"")&SI(SOMME(SI(ESTNUM(EQUIV("*"&$I$3:$I$10&"*";[@[Description OT]];0));1;0))>0;"Huisseries-menuiseries-metallerie";"")&SI(SOMME(SI(ESTNUM(EQUIV("*"&$J$3:$J$5&"*";[@[Description OT]];0));1;0))>0;"sol-peinture-petits travaux interieur";"")&SI(SOMME(SI(ESTNUM(EQUIV("*"&$K$3&"*";[@[Description OT]];0));1;0))>0;"stores";"")&SI(SOMME(SI(ESTNUM(EQUIV("*"&$L$3:$L$5&"*";[@[Description OT]];0));1;0))>0;"maçonnerie-gros œuvre";"")&SI(SOMME(SI(ESTNUM(EQUIV("*"&$M$3:$M$7&"*";[@[Description OT]];0));1;0))>0;"toitures-couvertures";"")

Daniel


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
danielc0 Messages postés 2053 Date d'inscription   Statut Membre Dernière intervention   248
 

Par contre, si l'on dispose les mots-clefs et les catégories comme ceci :

La formule devient, en D13 :

=SIERREUR(INDEX($K$16:$K$46;EQUIV(1;EQUIV("*"&$J$16#&"*";C13;0);0));"")

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

Daniel


0
Le Pingou Messages postés 12653 Date d'inscription   Statut Contributeur Dernière intervention   1 465
 

Bonsoir,

Ma  proposition dans le même sens que daniel0 mais en utilisant dans la formule, les plages nommées dynamiques (en cas d'ajout de critères la plage y relative s'adapte)

Le fichier : https://www.cjoint.com/c/NKtwD3r7VaZ


0
anth33 Messages postés 7 Statut Membre
 

Bonjour

Désolé pour ma réponse tardive.

Merci pour toute les propositions.

J'avoue ne comprendre aucune des 2 méthodes mais elles fonctionnent ^^ 

@danielc0 StatutMembre que j'ouvre ton fichier, la formule m'affiche _xlfn.VSTACK ou _xlfn.ANCHORARRAY

je n'ai aucune idée de ce à quoi ça correspond

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

Bonjour à tous,

@anth33 StatutMembre

Désolé. Il s'agit de formules propres à Excel 365. Voici le classeur modifié :

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

L'avantage de cette disposition est que tu peux ajouter des catégories sans modifier le formule si on se sert d'un tableau structuré :

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

Daniel

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

"J'avoue ne comprendre aucune des 2 méthodes mais elles fonctionnent"

Est-ce que tu souhaites une explication ?

Daniel


0
anth33 Messages postés 7 Statut Membre
 

Bonjour

Avec la nouvelle formule je comprend un peu mieux.

c'est une combinaison des fonction INDEX et EQUIV.

Je sais que c'est une combinaison qui est souvent utiliser, mais j'ai encore un peu de mal à m'en servir de moi même.

mais ça viendra en m'exerçant ^^

0