XL 2013 Problème limitation 64 imbrications =SI(NB.SI.ENS(SI(NB.SI.ENS...etc. possible de simplifier?

  • Initiateur de la discussion Initiateur de la discussion WIsh_
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

WIsh_

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterais trouver une formule qui me permet de renvoyer dans la colonne B de la feuille 1 le texte présent dans la feuille 2 colonne A :

- à la condition que la phrase présente dans la colonne C de la feuille 1 contienne le ou les termes présents dans la feuil 2 colonne B à D ;
et
- à la condition que la valeur ou le texte présent dans la colonne A de la feuille 1 contienne la valeur ou le texte présent en colonne A de la feuille 2.

Je ne sais pas si c'est super clair.
Voir mon fichier excel ci-joint. Le résultat attendu figure dans la colonne surlignée en jaune.

J'ai essayé de définir des plages sur la feuille 2 pour simplifier mes formules mais sans succès...

Merci d'avance,
Wish
 

Pièces jointes

Bonjour @Jocelyn,

Merci pour cet essai.
Au vu de ta réponse, je pense que mon fichier exemple n'est pas clair.

Il y a toujours des données dans la colonne A de la feuille 1, mea culpa.

Ce que je voulais montrer c'est que parfois on recherche uniquement les données des colonnes B à D de la feuille 2 dans la colonne C de la feuille 1 et d'autre fois on ajoute un second critère, qui est, en plus du premier susmentionné, "rechercher les données de la colonne A de la feuille 2 dans la colonne A de la feuille 1".

Il s'agit de 2 conditions qui s'aditionnent lorsqu'on le souhaite. Il s'agit d'ajouter un critère pour distinguer davantage 2 lignes qui répondraient toutes deux à la 1ère condition.

Le soucis aussi, c'est que dans mon fichier original, j'ai 948 lignes dans lesquels rechercher des données pour les classer en 62 "catégories" différentes. Je ne peux donc pas ajouter des bouts de formules à l'infini, d'où l'idée de définir des plages de critère pour les "citer" dans la formule et ainsi en réduire la taille et le caractère indigeste 🙂

Bien à toi,
Wish
 
Dernière édition:
Re,

Je pense qu'une macro est peut-être nécessaire.
Il faut peut-être rechercher les mots de la phrase présente en colonne B de la feuille 1, un à un dans la liste des critères pour enfin renvoyer la valeur choisie lorsqu'il y a correspondance...

J'ai réussi à compter le nombre de mot dans chaque cellule de la colonne B de la feuille 1 mais je n'ai pas réussi à "appeller" chaque mot dans une formule.
 
Bonjour,

Bonjour @GALOUGALOU, et merci pour la tentative. Je n'ai hélas pas compris ton fichier ni vu la solution dedans.

J'ai opté pour la solution suivante qui attache les "codes" (Feuil!2 $A2:$A18) que je souhaite renvoyer dans la feuil1!$B2:$B23 à des mots clés (voir feuil2!B2:E18)que je recherche dans la Feuil1!$C2:$C23. J'ai imbriqué toutes les conditions... et cela donne ceci:

Code:
=SI(NB.SI.ENS($C2;"*bonjour*");"BON";SI(NB.SI.ENS($C2;"*souhaiterais*";$A2;"5");"Voeu";SI(NB.SI.ENS($C2;"*souhaiterais*";$C2;"*trouver*");"Voeu2";SI(NB.SI.ENS($C2;"*permet*";$A2;"/");"formidable";SI(NB.SI.ENS($C2;"*permet*";$A2;"4");"formidable";SI(NB.SI.ENS($C2;"*permet*";$A2;"142");"force";SI(NB.SI.ENS($C2;"*permet*";$A2;"3");"formidable";SI(NB.SI.ENS($C2;"*colonne B*";A2;"*gfd*");"Renvoi"; SI(NB.SI.ENS($C2;"*colonne B*";A2;"*fg*");"Renvoi";SI(NB.SI.ENS($C2;"*présent*";$C2;"*A*";$A2;"zzrer");"TXT";SI(NB.SI.ENS($C2;"*présent*";$C2;"*le*";$A2;"142");"TXT2";SI(NB.SI.ENS($C2;"*présent*";$C2;"*A*";$A2;"*truc*");"TXT 5";SI(NB.SI.ENS($C2;"*contienne*";$A2;"*jukk*");"cond";SI(NB.SI.ENS($C2;"*contienne*";$A2;"8");"condition";SI(NB.SI.ENS($C2;"*contienne*";$A2;"18");"condiment";SI(NB.SI.ENS($C2;"*présent*";$C2;"*B*";$A2;"142");"Feuil2";SI(NB.SI.ENS($C2;"*présent*";$C2;"*B*";$A2;"41");"Feuillebis";SI(NB.SI.ENS($C2;"*présent*";$C2;"*B*";$A2;"vert");"autreF";SI(NB.SI.ENS($C2;"*présent*";$C2;"*B*";$A2;"*outre*");"Null";SI(NB.SI.ENS($C2;"*présent*";$C2;"*B*";$A2;"34");"autreY";"non"))))))))))))))))))))

Mon problème est que j'ai dans mon fichier original davantages de codes à renvoyer et que je dépasse les 64 imbrications, ce qui n'est pas faisable dans excel.

Du coup, il y a-t-il une façon (ou plusieurs) de simplifier la formule ci-dessus ?

Voir mon fichier joint.

Merci d'avance,
Wish
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
368
Réponses
38
Affichages
1 K
Retour