Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction "Recherche" Index Equiv + Max

FAB80170

XLDnaute Junior
Bonjour à tous.

Je cherche tout d'abord à récupérer des données d'un tableau, qui ne sont pas forcément des données "valeurs" (sinon je serais éventuellement passer par un TCD et la fonction LIREDONNEESTABCR...). Je me suis orienté vers les fonctions INDEX EQUIV ... (peut-être à tord), car je patauge laborieusement.
Dans l'onglet "feuil2" du fichier partiel joint, j'essaye de récupérer le champ "PROFIL" en D11 dans le tableau de données SQL (onglet SQL du classeur); selon les critères suivants;
- champ TOP 50 = TOP 01 (A11)
- champ FPNEU = TOU.E (A1)
- champ MARQUE_1 = MICHELIN (G9)
- champ VTE_EAN = Max de VTE_EAN ...
La valeur (texte) à récupérer en D11 est "SAVER +".

Je ne sais pas si d'autres fonctions feraient l'affaire et suis actuellement complètement à l'arrêt, malgré mes nombreuses recherches sur le net.

Je reste à votre disposition pour tous compléments d'informations.

Par avance MERCI. Bien cordialement.
 

Pièces jointes

  • Fonction Recherche Index Equiv Max.xlsx
    81 KB · Affichages: 29

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour FAB80170,

A tester si j'ai bien compris la demande j'ai mis la formule en colonne E

Code:
=INDEX(SQL[PROF];PETITE.VALEUR(SI((SQL[TOP 50]=A11)*(SQL[FPNEU]=$A$1)*(SQL[MARQUE_1]=$G$9)*(SQL[VTE_EAN]=MAX(SI(SQL[TOP 50]=A11;SQL[VTE_EAN])));LIGNE(SQL[PROF])-1);1))

voir fichier

Cordialement
 

Pièces jointes

  • Fonction Recherche Index Equiv Max.xlsx
    80.3 KB · Affichages: 39

FAB80170

XLDnaute Junior
Bonsoir Jocelyn,
Un grand MERCI pour votre retour !
En tirant la formule vers le bas, j'ai la valeur #NOMBRE! dans les cellules A25, A31, A35, ect ...
Peut-être une idée ?
Encore merci.
Bonne soirée.
 

Jocelyn

XLDnaute Barbatruc
re,

modification de la formule pour éviter les #NOMBRE!

Pour exemple en ligne 25 il était du au fait que la valeur max de top 15 etait sur une ligne qui ne contenait pas les autres critères

la modification consiste a mettre tous les critere dans le max(si))

Code:
=INDEX(SQL[PROF];PETITE.VALEUR(SI((SQL[VTE_EAN]=MAX(SI((SQL[TOP 50]=A11)*(SQL[FPNEU]=$A$1)*(SQL[MARQUE_1]=$G$9);SQL[VTE_EAN])));LIGNE(SQL[PROF])-1);1))

regarde et dis nous

Cordialement
 

Pièces jointes

  • Fonction Recherche Index Equiv Max.xlsx
    80.4 KB · Affichages: 43

FAB80170

XLDnaute Junior
Bonjour Jocelyn,
Encore une fois MERCI. (Et désolé de te solliciter à nouveau)...
Je pense qu'il y a un petit problème dans la formule, car lorsque je recopie la formule (tirer vers le bas), je suis surpris d'avoir des données ne correspondant pas aux critères spécifiés.
Pour mémoire;
- champ TOP 50 = TOP 01 (A11)
- champ FPNEU = TOU.E (A1)
- champ MARQUE_1 = MICHELIN (G9)
- champ VTE_EAN = Max de VTE_EAN ...
La valeur (texte) à récupérer en D11 est "SAVER +".

Notamment en cellule E55, j'ai un profil, correspondant au champ FPNEU "TOU.H" alors que dans le critère FPNEU est spécifié "TOU.E".

Merci pour ta patience.

Bonne journée.
 

Pièces jointes

  • 2018-03-24_10h45_26.png
    56.1 KB · Affichages: 48

Jocelyn

XLDnaute Barbatruc
re

ok re modification de la formule j'ai laissé tous les critères a l'intérieur du max(si()) et je les ais aussi mis en critères dans le petite.valeur

le probleme de la ligne 55 venait du fait qu'il n'y avait pas de TOU.E pour le Top 45 maintenant au lieu d'afficher une valeur erroneée on affiche "pas de correspondance"

voir fichier

cordialement
 

Pièces jointes

  • Fonction Recherche Index Equiv Max.xlsx
    80.8 KB · Affichages: 29

Discussions similaires

Réponses
3
Affichages
1 K
Réponses
4
Affichages
877
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…