Rechercher une valeur dans un tableau à partir de trois critères
jfh1254
-
jfh1254 -
jfh1254 -
Bonjour,
Je me permets de faire appel
Je dispose d'un tableau reprenant les colonnes suivantes "Date d'entrée en vigueur", "Produit", "Type de remise" et "Taux". Chaque ligne reprend soit une nouvelle remise soit un nouveau taux pour une remise déjà encodée sur une ligne antérieure.
Voici un schéma :
Date Produit Type Taux
20110101 A Réduction 2
20110101 A escompte 3
20100203 B Réduction 4
20110510 A Réduction 7
20120203 B escompte 1
.
.
.
J'encode les dates selon le format AAAAMMJJ
Je préfèrerais ne pas trier les lignes par ordre chronologique et les ligne ne sont pas groupées par produit ou type de remise.
J'essaye d'obtenir à l'aide d'une formule le taux d'un type de réduction donné pour un produit déterminé, et ce en fonction de la date de la transaction.
J'ai essayé en combinant index et equiv de la manière suivante (formule matricielle) :
INDEX(colonne_Taux;EQUIV(RECHERCHEV(date_Transaction;colonne_Date;1;VRAI)&produit_recherché&type_de_remise_recherchée;colonne_Date&colonne_Produit&colonne_Type;0))
Cela fonctionnait puis j'ai rajouté d'autres entrées au tableau et parfois j'obtiens l'ancien taux alors qu'un nouveau est en vigueur ou un #NA.
Je pense que c'est la sélection de la bonne date qui pose problème...
En somme je dispose de la date de la transaction, du produit concerné et du type de remise. Je cherche à obtenir le taux en vigueur pour ce droit et ce produit au moment de la transaction.
Mon tableau regroupe une dizaine de produit et de types de taux différents.
Voilà, j'espère que quelqu'un pourra m'aider et je l'en remercie d'avance.
Je me permets de faire appel
Je dispose d'un tableau reprenant les colonnes suivantes "Date d'entrée en vigueur", "Produit", "Type de remise" et "Taux". Chaque ligne reprend soit une nouvelle remise soit un nouveau taux pour une remise déjà encodée sur une ligne antérieure.
Voici un schéma :
Date Produit Type Taux
20110101 A Réduction 2
20110101 A escompte 3
20100203 B Réduction 4
20110510 A Réduction 7
20120203 B escompte 1
.
.
.
J'encode les dates selon le format AAAAMMJJ
Je préfèrerais ne pas trier les lignes par ordre chronologique et les ligne ne sont pas groupées par produit ou type de remise.
J'essaye d'obtenir à l'aide d'une formule le taux d'un type de réduction donné pour un produit déterminé, et ce en fonction de la date de la transaction.
J'ai essayé en combinant index et equiv de la manière suivante (formule matricielle) :
INDEX(colonne_Taux;EQUIV(RECHERCHEV(date_Transaction;colonne_Date;1;VRAI)&produit_recherché&type_de_remise_recherchée;colonne_Date&colonne_Produit&colonne_Type;0))
Cela fonctionnait puis j'ai rajouté d'autres entrées au tableau et parfois j'obtiens l'ancien taux alors qu'un nouveau est en vigueur ou un #NA.
Je pense que c'est la sélection de la bonne date qui pose problème...
En somme je dispose de la date de la transaction, du produit concerné et du type de remise. Je cherche à obtenir le taux en vigueur pour ce droit et ce produit au moment de la transaction.
Mon tableau regroupe une dizaine de produit et de types de taux différents.
Voilà, j'espère que quelqu'un pourra m'aider et je l'en remercie d'avance.
A voir également:
- Rechercher une valeur dans un tableau à partir de trois critères
- Tableau word - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
2 réponses
Bonjour,
Pour éviter des problèmes de format essayez d'entrer les valeurs de consignes dans des cellules disponibles. Exemple date en F1, Produit en G1, type de remise en H1.
La formule matricielle devient:
=INDEX($D$2:$D$12;EQUIV(RECHERCHEV(F1;$A$2:$A$12;1;VRAI)&G1&H1;$A$2:$A$12&$B$2:$B$12&$C$2:$C$12;0))
20110101 peut être un nombre à 8 chiffres, un texte, une date (40544 au format standard). Lors d'une concaténation avec l'opérateur & Excel prend des valeurs de texte donc selon le format et le mode de saisie on aura 20110101 ou 40544!
Pour éviter des problèmes de format essayez d'entrer les valeurs de consignes dans des cellules disponibles. Exemple date en F1, Produit en G1, type de remise en H1.
La formule matricielle devient:
=INDEX($D$2:$D$12;EQUIV(RECHERCHEV(F1;$A$2:$A$12;1;VRAI)&G1&H1;$A$2:$A$12&$B$2:$B$12&$C$2:$C$12;0))
20110101 peut être un nombre à 8 chiffres, un texte, une date (40544 au format standard). Lors d'une concaténation avec l'opérateur & Excel prend des valeurs de texte donc selon le format et le mode de saisie on aura 20110101 ou 40544!