Recherche complexe

Bonjour à tous,

Je sollicite votre aide car j'aimerai qu'Excel me renvoie la note associée à un taux (ceci est paramétré dans le deuxième onglet) mais en fonction du nom de la cellule. Par exemple dans le premier cas, Excel doit me renvoyer 7 dans la cellule B4 puisque c'est la note la plus proche pour le taux de 3,6% (pour le calcul de la marge bénéficiaire nette, c'est cela que j'ai du mal à faire comprendre à Excel, que le tableau de recherche doit être celui en dessous du nom concerné), dans le deuxième cas, la cellule D4 devra renvoyer la valeur 5 car 2,45% est plus proche de 1 dans le tableau du taux d'endettement.

Merci pour votre aide, en espérant que j'ai été à peu près clair ...

Bonsoir à tous !

Une proposition ?

=LET(
    p; Paramètres!C3:D6;
    a; ABS(B3 - PRENDRE(p; ; 1));
    INDEX(PRENDRE(p; ; -1); EQUIV(MIN(a); ABS(a); 0))
)

La plage de la variable p est à adapter selon les cas.

Bonjour JFL,

Merci pour votre proposition,

Pouvez-vous me dire à quoi correspondent a et p svp ?

Aussi, lorsque vous entrez la plage C3 à D6, cela veut dire que je dois réadapter la plage pour chaque calcul ?

Merci

Bonjour à tous !

La fonction LET permet de "variabiliser" des calculs intermédiaires. "a" et "p" sont les variables utilisées dans la formule.

p --> Cette variable stocke en mémoire la plage à analyser.
a --> contient le vecteur calculant la différence entre les taux de la colonne C (Feuille "Paramètres") et le taux saisi (ex : B3 Feuille "Calculs")

Il est nécessaire, effectivement, pour chaque calcul d'adapter la plage et le taux de référence.

bonjour

une contribution

cordialement

6tyler.xlsx (12.46 Ko)

Rebonjour,

Merci pour vos propositions, j'en comprend donc qu'il ne sera pas possible d'automatiser la formule, je retiens donc vos propositions, merci beaucoup !

Bonjour à tous de nouveau !

Proposition amendée (Formule identique utilisant le taux de référence et le nom du tableau bénéficiaire :

=LET(
    p; DECALER(Paramètres!$C$1; EQUIVX(B2; Paramètres!$C$1:$C$18; 0); ; 4; 2);
    a; ABS(B3 - PRENDRE(p; ; 1));
    INDEX(PRENDRE(p; ; -1); EQUIV(MIN(a); ABS(a); 0))
)

Magnifique merci beaucoup !

Bonjour à tous de nouveau !

Bien....!

Je vous remercie de ce retour.

Rechercher des sujets similaires à "recherche complexe"