Simplification de formule

Funky -  
Raymond PENTIER Messages postés 59028 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai crée une formule sur excel qui me va rechercher dans un tableau un version de document selon l'information d'un autre tableau.

=SI(NBCAR((INDEX(TABLEAU1;EQUIV(GAUCHE(INDEX(TABLEAU2;EQUIV(F29;TABLEAU2;0);3);8);
TABLEAU1;0);2)))>9;DROITE((INDEX(TABLEAU1;EQUIV(GAUCHE(INDEX(TABLEAU2;EQUIV(F29;
TABLEAU2;0);3);8);TABLEAU1;0);2));2);DROITE((INDEX(TABLEAU1;
EQUIV(GAUCHE(INDEX(TABLEAU2;EQUIV(F29;TABLEAU2;0);3);8);TABLEAU1;0);2));1))

Pensez-vous que cela est simplifiable?

Merci

Funky
A voir également:

4 réponses

pilas31 Messages postés 1878 Statut Contributeur 647
 
Bonjour,

Est-ce que cette formule fonctionne ? ou bien si elle ne fonctionne pas quel est le résultat cherché ?
Peut-être qu'en partant du besoin on pourra plus facilement proposer une solution.

Moi je pense (mais je peux me tromper) que cette formule ne fonctionne pas. Si j'isole cette partie de la formule :
INDEX(TABLEAU2;EQUIV(­F29;TABLEAU2;0);3)

Il y a une incohérence car pour EQUIV "TABLEAU2" est obligatoirement un vecteur (ligne ou colonne) alors que pour INDEX c'est obligatoirement une matrice de x lignes et 3 colonnes.

Donc (sauf erreur) il manque des explications

A+
0
Raymond PENTIER Messages postés 59028 Date d'inscription   Statut Contributeur Dernière intervention   17 407
 
Non, pilas31, je ne vois pas d'incohérence dans ton extraction.

Oui, Funky, je vois une méga simplification, puisque ta formule comporte 3 fois l'expression
INDEX(TABLEAU1;EQUIV(GAUCHE(INDEX(TABLEAU2;EQUIV(­F29;TABLEAU2;0);3);8);
TABLEAU1;0);2)
Il te suffit donc de donner un nom à cette expression. Tu vas dans Insertion/Nom/Définir, tu choisis comme Nom IndF29 et dans Fait référence à tu saisis
=INDEX(TABLEAU1;EQUIV(GAUCHE(INDEX(TABLEAU2;
EQUIV($F$29;TABLEAU2;0);3);8);TABLEAU1;0);2

Ta formule devient donc
=SI((NBCAR(IndF29))>9;DROITE((IndF29;2));DROITE((IndF29;1)))
ce qui te permet de constater que tu as chaque fois 2 parenthèses superflues, d'où au final :
=SI(NBCAR(IndF29)>9;DROITE(IndF29;2);DROITE(IndF29;1))
0
identifiant-comment Messages postés 351 Statut Membre 54
 
Waw, je savais pas que je pouvais donner un nom à une formule ! Merci raymond !
0
Raymond PENTIER Messages postés 59028 Date d'inscription   Statut Contributeur Dernière intervention   17 407
 
Ouais !
Mais il y a encore peu, je ne le savais pas non plus ...
C'est dans les discussions de ce forum que je l'ai appris, il y a quelques semaines !
Merci CCM.
0