Recherche V et Index + Equiv en ordre décroissant

Bonjour ou plutôt bonne nuit,

Je vous contacte parce que je n'arrive pas à trouver la solution à mon problème qui je suis sûr pour vous ne sera pas un problème.

Je tiens avant tout à dire, que je suis un novice sur Excel.

Je commence tout juste à faire des fonctions.

Mon problème :

J'ai un tableau avec des données décroissantes (en intervalles (1 à 6)) et des valeurs correspondantes qui doivent être en adéquation avec la valeur donnée dans mon intervalle. Le tableau possède des cellules vide, c'est normal, je suis obligé de faire avec.

J'ai essayé avec une recherche V, mais j'ai pu voir qu'en ordre décroissant, ça ne fonctionne pas...

J'ai essayé avec un index + equiv, mais je dois mal l'utiliser ou il doit avoir un problème avec les cellules vides dans le tableau.

J'ai mi en dernière ligne du tableau à droite, les valeurs que les fonctions devraient trouver normalement.

Pourriez-vous m'aider, je vous prie ?

10test.xlsx (12.45 Ko)

Bonjour Juanital, bienvenue sur excel-pratique ,

Un essai via une formule matricielle en Q12 à recopier vers la droite :

=SIERREUR(INDEX($N:$N;PETITE.VALEUR(SI(SI(DECALER($B$4;0;2*COLONNES($Q:Q)-2;16;2)="";"";DECALER($B$4;0;2*COLONNES($Q:Q)-2;16;2))=Q4;LIGNE(DECALER($B$4;0;2*COLONNES($Q:Q)-2;16;2)));1));"")

Pour l'intervalle 2, le résultat de la formule est différent du résultat attendu. On recherche la valeur 54 au sein l'intervalle 2. Cette valeur 54 n'est pas dans l'intervalle 2. La formule renvoie la chaine vide alors que vous attendez le résultat 8. Pouvez-vous expliquer la règle quand la valeur recherchée n'est pas dans l'intervalle ?

nota : d'autres commentaires figurent dans la classeur.

Bonjour,

Je rentre du travail et je vois avec vous ce soir.

Merci en tout cas pour votre rapidité.

Bonjour à tous,

Une autre approche toujours avec des fonctions matricielles, une par intervalle contrairement à la formule de mafraise plus globale et duplicable.

La difficulté ne vient pas de l'ordre décroissant mais du fait qu'il y ait deux colonnes de recherche et que EQUIV ne fonctionne que sur une seule.

Je recherche la valeur exacte dans la première colonne, si non trouvée, je recherche la valeur exacte dans le deuxième colonne et en désespoir de cause, je prends la valeur la plus proche sur l'ensemble des deux colonnes.

Pour le premier intervalle en Q8, (plages à adapter pour les suivants) :

=SIERREUR(INDEX(N4:N19;SIERREUR(EQUIV(Q4;B4:B19;0);SIERREUR(EQUIV(Q4;C4:C19;0);"")));MAX((ABS(B4:C19-Q4)=MIN(ABS(B4:C19-Q4)))*N4:N19))

À tester

3test2.xlsx (13.49 Ko)

Bonsoir à tous !

Une autre approche ?

=SIERREUR(INDEX($N$4:$N$19;EQUIV(VRAI;PRODUITMAT(--(DECALER($B$3;1;EQUIV(Q$3;$B$3:$M$3)-1;NB($N$4:$N$19);2)&""=Q$4&"");{1;1})>0;0));"--")

A placer en Q6 (par exemple) et à étirer vers la droite.

Bonsoir à tous,

Merci pour vos réponses.

- Mafraise, ça fait 30 minutes que j'essaie de décortiquer votre formule. J'essaie de regarder toutes les fonctions séparément, mais je ne comprends pas le fait d'avoir une formule matricielle (qu'est-ce que cela apporte par rapport à une formule classique ? ). Pour être honnête, je ne comprends pas comment vous avez fait ?

Pour l'intervalle 2, je vois que si l'on change la valeur donnée avec une valeur plus élevée ou plus basse que celle que nos intervalles, on a une cellule vide qui apparaît. Donc, pour moi, il considère l'intervalle 2 sur une valeur donnée comprise entre 11 et 56 une cellule vide.

Désolé, je ne suis qu'un débutant, alors je ne comprends pas grand chose encore...

- Begood, effectivement, votre formule fonctionne, j'ai pu la tester sur un plus grand tableau.

- JFL, je vois que si j'étire la cellule vers la droite, on a un souci avec l'intervalle 2 (il m'affiche - -).

En tout cas, je vous remercie encore une fois pour vos réponses. J'essaie en premier lieu de comprendre vos formules en goutte à goutte, je fais de mon mieux, alors n'hésitez pas à me donner des conseils, svp.

Cordialement,

Juan.

Bonjour à tous !

- JFL, je vois que si j'étire la cellule vers la droite, on a un souci avec l'intervalle 2 (il m'affiche - -).

Le "--" retourné par la formule signale que la valeur cherchée n'est pas présente dans l'intervalle analysé. C'est une information et non un souci.

Bonjour à tous,

@Juanital,

Attention, les formules que je vous ai proposées, doivent être validées en matricielles par Ctrl+Maj+Entrée, pour le cas ou la valeur cherchée n'est pas présente dans vos colonnes. (si vous êtes bien sous Excel 2013)

Une autre proposition qui ne nécessite pas de validation matricielle, en Q8 pour le premier intervalle, (plages à adapter pour les suivants) :

=SIERREUR(INDEX(N4:N19;SIERREUR(EQUIV(Q4;B4:B19;0);SIERREUR(EQUIV(Q4;B4:B19;0);"")));AGREGAT(14;6;(ABS(B4:C19-Q4)=AGREGAT(15;6;ABS(B4:C19-Q4);1))*N4:N19;1))
0test2-1.xlsx (13.51 Ko)

Bonjour @ tous,

Je vous remercie à tous.

Je prends note de toutes vos remarques et réponses.

A moi de travailler pour comprendre les formules 😁

Cordialement,

Juan.

Rechercher des sujets similaires à "recherche index equiv ordre decroissant"