XL 2016 Recherche dans un tableau à 2 entrée avec des valeurs comprise entre 2

Laas

XLDnaute Nouveau
Bonjour,

Je cherche la formule pour avoir la valeur de la tolérance (en case C4).
Pour cela j'ai en donné d'entré :

Le moyens de découpe : Cela permet de choisir dans quel tableau allé chercher (Jet d'eau, Laser, Plasma)
L'épaisseur : qui est comprise entre deux valeur présente dans mon tableau en ordonné ( Colonne K et L )
La dimension : qui est comprise entre deux valeur présente dans mon tableau en abscisses ( Ligne 8 pour le tableau jet d'eau / Ligne 19 pour le tableau Laser / Ligne 33 pour le tableau Plasma)

Pour une meilleur compréhension j'ai fait un exemple manuellement dans les cases B9:C12

Merci d'avance pour votre aide

Laas
 

Pièces jointes

  • Recherche de tolérance.xlsx
    16.3 KB · Affichages: 11

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Laas,
Un essai en PJ.
J'ai ajouté des calculs intermédiaires. On peut le faire en une formule mais elle devient vraiement complexe.
Avec :
VB:
N° colonne :
=SI($C$21="Laser";EQUIV($C$22;$M$19:$AF$19;1);SI($C$21="Jet d'eau";EQUIV($C$22;$M$8:$R$8;1);EQUIV($C$22;$M$33:$AF$33;1)))
N° ligne :
=SI($C$32="Laser";EQUIV($C$20;$K$21:$K$29;1);SI($C$32="Jet d'eau";EQUIV($C$20;$K$11:$K$15;1);EQUIV($C$20;$K$35:$K$48;1)))
Tolérance :
=SI($C$21="Laser";INDEX($M$21:$AF$29;$C$24;$C$23);SI($C$21="Jet d'eau";INDEX($M$11:$R$15;$C$24;$C$23);INDEX($M$35:$AF$48;$C$24;$C$23)))
 

Pièces jointes

  • Recherche de tolérance.xlsx
    17.2 KB · Affichages: 3

Laas

XLDnaute Nouveau
Merci de ta réponse.

Ca me vas très bien avec une étape intermédiaire.

Si je décompose la formule pour bien comprendre ca fait :

Colonne :
-Suivant la découpe ( Jet d'eau, plasma ou laser ) ca va chercher dans le tableau correspondant à l'aide de "SI"
-Suivant la dimensions ca viens chercher le n° de colonne dans le tableau.
A ce niveau juste un point que je ne comprend pas, avec EQUIV il n'y a pas besoin de dire que la valeur se trouve entre X et Y pour que ca vienne la chercher ca la fait tous seul ? Et a quoi sert le "1" en fin de formule EQUIV

Ligne :
-Idem que colonne

Tolérance :
-Suivant la découpe ( Jet d'eau, plasma ou laser ) ca va chercher dans le tableau correspondant à l'aide de "SI"
Le "@" avant le premier SI a-t-il une utilité ? Si oui je suis curieux de savoir
-INDEX donne la matrice où chercher et renvois la valeur du n° de colonne et de ligne définis avant.

Merci encore de ton aide
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Colonne :
avec EQUIV il n'y a pas besoin de dire que la valeur se trouve entre X et Y pour que ca vienne la chercher ca la fait tous seul ? Et a quoi sert le "1" en fin de formule
La réponse est dans la question. Le 1 va prendre la valeur immédiatement en dessous. Comme le tableau est bien fait et que les données sont en ordre croissant, ça permet de gagner du temps.

Ligne :
-Idem que colonne 😂

Tolérance :
Comme on a récupéré le N° ligne et N° colonne, il suffit de piocher dans la bonne matrice avec :
Index(Tableau,N°ligne,N°colonne )

L' @ est apparu je crois avec XL2016, il est rajouté automatiquement car les formules peuvent être nativement matricielles, ou non. Dans ce dernier cas un @ est rajouté.
( par ex sur mon 2007 je n'ai mis aucun @ dans mes formules )
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 925
Membres
101 841
dernier inscrit
ferid87