Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Combiner 2 fonction : Si et cherche ou autre puisque ça ne marche pas

doriabel

XLDnaute Nouveau
Bonjour,
J'ai 1 premier tableau en fonction des H, je dois mettre un n° de categorie (5 etant le plus dangereux et 1 le moins dangereux)
Cat recherche code
5 H106
5 H109
4 H102
4 H104
4 H105
3 H100
3 H101
2 H103
1 H107
1 H108

Ensuite j'ai un texte dans une cellule avec plusieurs phrases contenant 1 ou plusieurs Hxxx avec son intitulé.
Le but est de mettre dans la colonne suivante le n° de la catégorie mais le plus élevé. si dans le texte il y a un H106 et un H105, je dois trouver categorie 5
Du coup je voudrait traduire en langage fonction
SI il dans D2, il y a H106 ou H109 mettre 5 dans E2
sinon s' il y a dans D2, H102 ou H104 ou H105, mettre 4 dans E2
sinon s'il y a dans D2 H100 ou H101, mettre 3 dans E2
sinon s'il y a dans D2, H103, mettre 2 dans E2;
sinon mettre1 E2.

(C'est pour faire le risque chimique de mon entreprise les Hxx sont les mentions de danger et en fonction du danger on attribue un code de danger de 1 à 5 pour évaluer le risque final du produit. mais un produit peut avoir plusieurs danger. nous n'avons pas eu la bonne idée de mettre 1 mention de danger par colonne mais on a regroupé tous les mention de danger dans une seule colonne.
Merci beaucoup pour votre aide.
Je joint un fichier excel pour exemple
 

Pièces jointes

  • fonction excel.xlsx
    11.9 KB · Affichages: 11

JHA

XLDnaute Barbatruc
Bonjour à tous,

Avec des si()
VB:
=SI(ESTNUM(CHERCHE("H106";$D2));5;SI(ESTNUM(CHERCHE("H109";$D2));5;SI(ESTNUM(CHERCHE("H104";$D2));4;SI(ESTNUM(CHERCHE("H105";$D2));4;SI(ESTNUM(CHERCHE("H102";$D2));4;SI(ESTNUM(CHERCHE("H100";$D2));3;SI(ESTNUM(CHERCHE("H101";$D2));3;SI(ESTNUM(CHERCHE("H103";$D2));2;1))))))))

JHA
 

Pièces jointes

  • fonction excel.xlsx
    12.5 KB · Affichages: 6

doriabel

XLDnaute Nouveau
Bonsoir
Merci beaucoup mais en fait j'ai 102 phrases H différentes du coup y a t il un moyen plus rapide ou je doit faire recopier 102 fois la fonction ?
Je m'excuse j'aurais du le préciser dans mon 1 er message.
Merci
Virginie
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Un essai avec une formule matricielle:
VB:
=INDEX($A$2:$A$11;EQUIV(VRAI;ESTNUM(CHERCHE(listeA;$D2));0))

JHA
 

Pièces jointes

  • fonction excel.xlsx
    12.8 KB · Affichages: 7
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…