RechercheV multicritères avec inégalités

Bonjour,

Je dois concevoir un fichier qui récupère des tarifs de référence en fonction d'un code article et d'une date de validité de prix.

Sur une feuille de calcul, j'ai la base de référence avec les dates de début et dates de fin de validité.

Sur l'autre un tableau de clients ayant consommé l'article et la date de consommation.

L'idée est de pouvoir faire ressortir le tarif de l'article à la date de consommation.

Après plusieurs tentatives échouées je me dit qu'un coup de pouce ne me ferait pas de mal.

Voici la fonction que j'ai utilisée et qui ne marche pas :

=INDEX(refArt!I1:I26828;EQUIV(1;(refArt!A:A=I2)*(refArt!B:B<=L2)*(refArt!C:C >= L2);0))

Pour information en utilisant :

=INDEX(refArt!I1:I26828;EQUIV(1;(refArt!A:A=I2)*(refArt!B:B<=L2);0))

J'obtiens quelque chose qui se rapproche de ce que je cherche à faire. Mais il se trouve qu'il y a des dates de fin de validité des prix. Parfois il n'y a même plus de prix au delà d'une date du coup le troisième critère est important.

Note : dans les deux cas j'utilise la fonction Ctrl+Maj+Enter pour que le résultat soit celui attendu.

Avez-vous un conseil à me donner pour arriver à mes fins?

Merci!

Bonjour,

Avez-vous un conseil à me donner pour arriver à mes fins?

Merci!

Bonjour,

Un fichier EXCEL (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur le forum permettrait aux intervenants de répondre plus précisément à ta question. Et précise aussi ta version d'Excel, si ce n'est déjà fait.

Crdmt

Bonjour la bidouille, hello djidji

utilise les filtres avancés, et comme dit djidji mt un fichier simplifié

Bonjour à tous,

Cette formule il faut la valider avec ctrl + shift + entrée pour la rendre matricielle ou imbriquer le Equiv dans un sommeprod :

=INDEX(refArt!I:I;Sommeprod(EQUIV(1;(refArt!A:A=I2)*(refArt!B:B<=L2)*(refArt!C:C >= L2);0)))

Le mieux serait d'avoir une colonne renvoyée par le INDEX de même taille que les colonnes de recherche et si possible limitée et donc avec un tableau structuré, ce serait mieux !

Cdlt,

Bonsoir à tous,

Je vous joins un fichier simplifié à l'extrême sans la formule mais avec le résultat escompté (en bleu) et les critères en jaune. Le fichier tient sur plus de 30 000 lignes par feuille en réa

13exemple.xlsx (43.76 Ko)

lité.

Les filtres avancés ne pourront pas fonctionner parce que c'est vraiment une récupération de données de manière conditionnelle en vue d'un export.

Le Ctrl+shift+Entrée a été fait, je l'ai bien mentionné du coup ça doit être ma syntaxe qui ne doit pas être bonne.

Merci à vous.

Bonjour,

Pourriez-vous donner des détails car ce n'est pas clair du tout ? Que voulez-vous ? une somme, une valeur selon critère ?

Cdlt,

Comme indiqué dans le titre je souhaite, à l'instar d'une recherchev récupérer la valeur située sur une autre feuille.

Sauf que j'ai 3 critères :

1. Le code de mon article

2. la date de consommation doit être postérieure ou égale à la date de validité du tarif

3. la date de consommation doit être antérieure à la date de fin

Pour que la valeur du tarif soit récupérée. Pour ce faire il est préconisé d'utiliser le mode matriciel des fonctions INDEX() et EQUIV() imbriquées ce qui en fait une sorte de recherchev amélioré puisqu'utilise 3 critères.

Dans le fichier on voir clairement que je ne somme rien mais que je récupère bien la donnée.

La feuille A doit récupérer le tarif qui va bien de la feuille refLPP.

Cordialement,

Il faudrait vérifier que la ligne existe bien et qu'il n'y a pas de chevauchement entre les dates

=INDEX(refLPP!I:I;SOMMEPROD(LIGNE(refLPP!$I$2:$I$18)*(refLPP!$A$2:$A$18=I2)*(refLPP!$B$2:$B$18<=L2)*((refLPP!$C$2:$C$18>=L2)+(refLPP!$C$2:$C$18=""))))

ou en reprenant ta onction en matriciel

=INDEX(refArt!I:I;EQUIV(1;(refArt!A:A=I2)*(refArt!B:B<=L2)*((refArt!C:C>=L2)+(refArt!C:C=""));0))
12exemple.xlsx (43.71 Ko)

je suis d'accord avec 3GB sur le fait d'utiliser un tableau structuré

Oui, mais comme vous avez une colonne Réf LPP qui reprend un tarif, et si je n'ai pas la berlue une date testée hors de tout intervalle, c'est pas très clair, d'autant que la date testée était censée être bornée par vos colonnes B et C alors que votre colonne C contient du vide...

Et dans le fichier on ne voit rien puisqu'il y a une seule ligne en feuille A...

Cdlt,

Bonjour,

si je n'ai pas la berlue une date testée hors de tout intervalle, c'est pas très clair

Bienvenue dans mon monde, les autorités donnent des intervalles et j'ai des données en dehors ça arrive et je n'ai pas les instructions associées, moi je ne suis qu'un support à la profession qui crée ces données. Mais à la limite ce n'est pas le plus important puisque le fait de positionner la date de conso dans l'intervalle n'améliore rien.

Le fichier présenté contient toutes les indications qui permettent de comprendre, la feuille A c'est la feuille de calcul et la feui refLPP est une table de référence qui ne doit pas être touchée.

La colonne bleue de la feuille A est censé récupérer la donnée de la colonne bleue de la feuille refLPP selon les critères des colonnes jaunes. Effectivement il y a la référence de produit (ref pdt de la feuille A) qui n'est pas colorée ce qui pourrait être un manque de précision de ma part.

dans le fichier on ne voit rien puisqu'il y a une seule ligne en feuille A...

Il n'est pas nécessaire d'en avoir plus pour faire les tests cette ligne se suffit en elle même en modifiant simplement la date de conso.

Cordialement,

Non, elle ne suffit pas puisqu'une somme multi-critère et une recherche multi-critère peuvent donner le même résultat (...ou pas).

Et comme je ne suis pas dans votre monde, forcément, il y a des questions qui méritent selon moi d'être posées. Vu qu'il ne s'agit pas de rechercher des références mais des tarifs selon une référence bornée chronologiquement, on aurait très bien pu attendre une somme... la somme des tarifs liés à cette référence sur la période.

Enfin, la formule de Steelson est certainement très bien. L'avez-vous testée ? Si oui, merci de le faire savoir et de clôturer le sujet.

@ bidouilleur

La colonne bleue de la feuille A est censé récupérer la donnée de la colonne bleue de la feuille refLPP selon les critères des colonnes jaunes. Effectivement il y a la référence de produit (ref pdt de la feuille A) qui n'est pas colorée ce qui pourrait être un manque de précision de ma part.

Il n'est pas nécessaire d'en avoir plus pour faire les tests cette ligne se suffit en elle même en modifiant simplement la date de conso.

Et ma proposition de ce matin 4:34, tu as regardé ? merci de me faire un retour ... https://forum.excel-pratique.com/excel/recherchev-multicriteres-avec-inegalites-148879#p917838

@ 3GB ... j'ai eu du mal aussi à me connecter au sujet !

Merci Steelson, la solution proposée semble être la solution.

Il y des notions que j'ai du mal à comprendre quand vous dites :

je suis d'accord avec 3GB sur le fait d'utiliser un tableau structuré

Qu'est ce qui n'est pas structuré dans le fichier?

Accueil > Mise sous forme de tableau

=INDEX(Tdata[TARIF];EQUIV(1;(Tdata[CODE_TIPS]=I2)*(Tdata[DEBUTVALID]<=L2)*((Tdata[FINHISTO]>=L2)+(Tdata[FINHISTO]=""));0))
7exemple.xlsx (44.98 Ko)
Rechercher des sujets similaires à "recherchev multicriteres inegalites"