Tableau à double entrée recherche par entrée

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 !

realpims

XLDnaute Nouveau
Bonjour,

Mon problème est un peu différent de celui des tableaux à double entrées (abscisse, ordonnée) car je ne connais pas une des 2 entrées, l'ordonnée.


Je cherche à trouver (dans l'onglet "Tableau") le montant le plus proche (mais supérieure uniquement) de la colonne "Valeur" de l'onglet "Données".
Sachant qu'il faut que je recherche ce montant dans la colonne du Tableau indexée (en entrant) par la valeur du "Champ"
En effet, si je ne conditionne pas ma recherche à la colonne correspondant à la valeur de "Champ", il peut y avoir plusieurs réponses !


Quelques exemples dans l'onglet "Données"

Une fois que j'aurais trouvé le montant, je devrais déterminer le "Code" (l'ordonnée) du tableau

J'aurais ainsi :
L'abscisse du Tableau => "Champ"
L'ordonnée du Tableau => "Code"
La valeur correspondante

Je ne peux pas utiliser la formule EQUIV() [match en anglais] car je ne possède pas l'ordonnée comme hypothèse.
Je dois donc utiliser l'abscisse pour trouver le montant et en déduire l'ordonnée et avoir ainsi les coordonnées du montant immédiatement supérieur ou égal
à la valeur que je recherche.

J'ai indiqué le résultat attendu, sachant que je dois le faire par formule (ou macro mais je préfère les formules) car les montants du "Tableau" peuvent varier.

J'ai bien essayé de nommer les colonnes "colonneA", "colonneB" et de lui faire rechercher dans la colonne résultant de la formule =contatener('"colonne";champ)
Puis de faire EQUIV(valeur;conatener("colonne";champ);1)+1), ce qui me donnerait l'ordonnée.
Mais le résultat étant sous le format texte, Excel ne considère pas le résultat comme une zone nommée.

D'où une grosse panne d'inspiration !

Merci de votre aide !
 

Pièces jointes

Re : Tableau à double entrée recherche par entrée

Bonsoir,

Quelque chose m'échappe dans les exemples que tu nous donnes.

Pour ton 1er exemple (110 - Champ C) tu nous indiques que le résultat est 115.76, qui est dans le champ A ???

Comment faut-il interpréter la notion de champ (puisque on passe du champ C ou champ A).

A te (re)lire avec quelques précisions nécessaires à une meilleure compréhension de ton problème.

@+
 
Re : Tableau à double entrée recherche par entrée

Bonsoir, bonsoir Tibo 🙂,
Même remarque
En outre
115,76 se trouve en Tableau!B5 et non Tableau!B6
la valeur la plus proche se trouve être 110,25 et non 115,76, enfin pour moi
Donc j'y comprends pas plus
A+
kjin
 
Re : Tableau à double entrée recherche par entrée

Bonjour,
Oups effectivement mon copier/coller a incrémenté malencontreusement !
Pour la première ligne, valeur 110 champ C, le résultat attendu est : 110.32
Si je tente de reformuler mon besoin, je dois trouver dans le tableau le montant supérieur le plus proche dans la colonne déterminée par le champ (ici la colonne D (champ C)).
Le montant supérieur le plus proche de 110 est 110.32.
Merci d'avance de ton aide.
pj : fichier corrigé
 

Pièces jointes

Re : Tableau à double entrée recherche par entrée

re,

Effectivement, c'est un peu plus compréhensible.

Un essai avec 2 formules matricielles :

Onglet Donnés, en C2 (il faut peut-être effacer ou décaler les exemples que tu nous as mis) :

Code:
=INDEX(DECALER(Tableau!$A$1;1;EQUIV(Données!B2;Tableau!$B$1:$M$1;0);14);
EQUIV(VRAI;DECALER(Tableau!$A$1;1;EQUIV(Données!B2;Tableau!$B$1:$M$1;0);
14)>A2;0))

en D2 :

Code:
=INDEX(Tableau!$A$2:$A$15;EQUIV(VRAI;DECALER(Tableau!$A$1;1;
EQUIV(Données!B2;Tableau!$B$1:$M$1;0);14)>A2;0))

Formules matricielles à valider par CTRL + MAJ + ENTREE

Formules à recopier vers le bas.

A savoir qu'une erreur semble s'être glissée dans un de tes exemples :ligne 4 : 110 - champ F donne AA1 et non AB1

Je te laisse essayer

@+
 
Re : Tableau à double entrée recherche par entrée

Félicitations ! Ca marche super bien !
Merci énormément !
Effectivement, il restait une coquille dans mon second fichier et ta formule le met brillamment en avant !
Encore merci tant pour les formules que pour la rapidité de ta (et les autres également) réponse !!
 
Re : Tableau à double entrée recherche par entrée

En non matriciel:

En C2:
=INDEX(tableau;SI(ESTNA(EQUIV(A2;INDEX(tableau;;EQUIV(B2;champ;0));1));1;EQUIV(A2;INDEX(tableau;;EQUIV(B2;champ;0));1)+1);EQUIV(B2;champ;0))

En F2:
=INDEX(code;SI(ESTNA(EQUIV(A2;INDEX(tableau;;EQUIV(B2;champ;0));1));1;EQUIV(A2;INDEX(tableau;;EQUIV(B2;champ;0));1)+1))


Si la première ligne de tableau contenait des 0:

=INDEX(tableau;EQUIV(A2;INDEX(tableau;;EQUIV(B2;champ;0));1)+1;EQUIV(B2;champ;0))
=INDEX(code;EQUIV(A2;INDEX(tableau;;EQUIV(B2;champ;0));1)+1)


JB
 

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
4
Affichages
572
Réponses
2
Affichages
196
Réponses
9
Affichages
593
Réponses
9
Affichages
483
Réponses
2
Affichages
335
Retour