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

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.

Bobot (l'IA à votre service)
  1. danielc0 Messages postés 2199 Date d'inscription   Statut Membre Dernière intervention   291
     

    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
  2. 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
  3. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     

    Bonjour,

    Merci pour le fichier.

    Je suppose que la proposition de danielc0 ne convient pas?


    0
  4. danielc0 Messages postés 2199 Date d'inscription   Statut Membre Dernière intervention   291
     

    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. danielc0 Messages postés 2199 Date d'inscription   Statut Membre Dernière intervention   291
     

    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
  7. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     

    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
  8. 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
    1. danielc0 Messages postés 2199 Date d'inscription   Statut Membre Dernière intervention   291
       

      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
  9. danielc0 Messages postés 2199 Date d'inscription   Statut Membre Dernière intervention   291
     

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

    Est-ce que tu souhaites une explication ?

    Daniel


    0
    1. 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