Recherche 2 critères via Index et Equiv matricielle

Bonjour à toutes et tous,

Malgré toutes mes recherches je n'arrive pas à créer une formule qui fonctionnerait sur le même principe que la fonction RECHERCHE native de Excel mais pour 2 critères.

J'utilise pour ce faire INDEX et EQUIV en matricielle sans obtenir le résultat escompté. Ci joint un classeur exemple.

Auriez vous une solution a me proposer.

Merci

Cordialement

Hugues

Bonsoir le forum,

=SOMMEPROD((ID=L2&M2&N2&O2)*(CA=INDEX(CA;EQUIV(MIN(ABS(K2-CA));ABS(K2-CA);0)))*(Coque))

Formule matricielle.

Bonsoir,

Une proposition matricielle (sans beaucoup de conviction) :

=INDIRECT(ADRESSE(MAX(LIGNE(A2:A284)*(A2:A284=$L$2)*(B2:B284=$M$2)*(C2:C284=N2)*(D2:D284=O2)*(F2:F284<=K2));7))

Ça n'est pas la valeur la plus proche, mais la plus grande inférieure, après, ça se complique un peu.

Sinon, dans la même veine, pourquoi ne pas utiliser les filtres élaborés ?

Re,

valeur la plus proche

Bonjour Oyobrans et Mbbp, Bonjour à toutes et tous,

Merci à vous 2 pour votre retour.

Vos 2 propositions font le job d'une recherche à 2 critères.

La formule de Mbpp correspond effectivement à 100% du descriptif voulu, notamment sur la notion de valeur la plus proche.

Oyobans ta formule renvois la plus grande valeur inférieur jusqu'a atteinte du seuil (ce qui peut être utile si dans ma logique d'outil de pilotage de credit d'heures finale je souhaitais conserver une marge de sécurité).

Comme dans mon approche initiale vos 2 formules sont matricielles et donc consommatrice de temps de calculs si volume de données importants à traiter (à priori acceptable dans mes premiers tests). Mbbp à ton avis est ce que l'appel à SOMMEPROD ne risque t'il pas d'amplifier également ces temps de calculs ?

En tous cas merci à vous 2, je marque ce post comme résolu.

Cordialement

Hugues

HUGOBASS a écrit :

Mbbp à ton avis est ce que l'appel à SOMMEPROD ne risque t'il pas d'amplifier également ces temps de calculs ?

A comparer avec :

INDEX(Coque;EQUIV(1;(ID=L2&M2&N2&O2)*(CA=INDEX(CA;EQUIV(MIN(ABS(K2-CA));ABS(K2-CA);0)));0))

Bonjour Mbbp, Bonjour à toutes et tous,

Mbbp ta dernière formule répond à mes attentes, merci beaucoup

INDEX(Coque;EQUIV(1;(ID=L2&M2&N2&O2)*(CA=INDEX(CA;EQUIV(MIN(ABS(K2-CA));ABS(K2-CA);0)));0))

J'ai essayé de la comprendre plus en détail pour l'adapter à d'autre cas de figure, mais je n'ai pas réussi a décortiquer clairement tout le processus et l'imbrication des fonctions.

Peux tu m'apporter quelques précisions ?

Ainsi si par exemple sije voulais comme dans la formule de Oyobans, rester sur une approche recherchant la plus grande valeur inférieure (ma marge de sécurité).Je pense que je n'arrive pas à adapter cette partie de ta formule (CA=INDEX(CA;EQUIV(MIN(ABS(K2-CA));ABS(K2-CA) pour traiter (CA<=K2).

Cordialement

Hugues

HUGOBASS a écrit :

rester sur une approche recherchant la plus grande valeur inférieure (ma marge de sécurité).

=INDEX(B1:B3;EQUIV(MIN(ABS($A$1-B1:B3));ABS($A$1-B1:B3);0))

Donne la valeur la plus proche (inférieure ou supérieure).

=PETITE.VALEUR(B1:B3;SOMME((B1:B3<=A1)*1))

Donne la valeur la plus proche inférieure.

valeur proche

Bonjour Mbbp,

Merci

En cours d'adaptation et de compréhension

Cordialement

Hugues

Bonjour Mbbp, Bonjour à toutes et tous,

Mbbp en adaptant ta formule et en allant plus loin dans les tests avec le jeu de données, je le rend compte que dans certains cas ta proposition ne fonctionne pas.

Je n'arrive pas à me l'expliquer et pourtant il me semble que j'ai bien adapté ta formule.

Ci joint un fichier exemple.

Quel est à ton avis le problème ?

Merci

Hugues

En effet, seule la première formule proposée (valeur la plus proche) fonctionne.

La plus proche inférieure fonctionne avec une condition (voir image jointe) seulement.

index

Bonjour Mbbp,

mbbp a écrit :

En effet, seule la première formule proposée (valeur la plus proche) fonctionne.

Non cette formule ne fonctionne pas pou tout le jeu de données et sans que je n'arrive à savoir pourquoi

cf classeur exemple ci joint.

La plus proche inférieure fonctionne avec une condition (voir image jointe) seulement.

Oui je confirme, je conserve d'ailleurs cette formule pour d'autres besoins.

Merci

Cordialement

Hugues

Euréka ???

CA : 563 000

Valeur la plus proche : 575 000

Valeur inférieure la plus proche : 550 000

Formule avec SOMMEPRO : voir image jointe

Autre formule :

=INDEX(Coque;EQUIV(1;(ID=L2&M2&N2&O2)*(CA=PETITE.VALEUR(CA;SOMME((CA<=$K$2)*1)));0))
valeurs proches

Bonjour Mbbp,

J'aimerais bien te dire hip hip hourra mais non; encore des résultats non conforment avec certaines données comme dans le fichier ci joint.

En tous cas merci pour ton intérêt au sujet.

Cordialement

Hugues

Rechercher des sujets similaires à "recherche criteres via index equiv matricielle"