Recherche d'une donnée selon plusieurs critères (suite)
6 réponses
Jérémie
Bonjour,
J'ai lu avec beaucoup d'attention les articles qui présentaient les
fonctions : SOMMEPROD; INDEX et EQUIV, mais je n'ai pas trouvé la réponse à
mon problème.
Pour résumer il s'agit de trouver la vitesse d'une machine selon 3 critères
: le revêtement; le diamètre; la nature du matériau.
Le diamètre est un intervalle de données.
J'ai quatre colonnes
Revêtement Diamètre nature Vitesse
50 1.49 hard 70
50 1.49 soft 72
50 2.40 hard 65
50 2.40 soft 67
50 2.50 hard 60
50 2.50 soft 64
Dans cet exemple je n'ai utilisé q'un revêtement il en existe 4 notés de 50
à 53
Les diamètres sont des bornes, elles ne sont pas toujours identiques, il ne
peut y avoir que deux nature de matériau.
Dans un tableau excel je saisi les élements suivants:
Revêtement Diamètre nature Vitesse
50 1.55 hard J'espère trouver 70
comme réponse (la vitesse de la borne inférieur).
Je souhaite trouver la vittesse en fonction du revêtement, du diamètre et de
la nature du matériau.
J'ai utilisé la fonction :
{=Index(plageVitesse;EQUIV("revêt"&"Dia"&"Nat";plagerevêt&plageDia&plageNature;1))}
mais il me renvoit toujours la même ligne. (Est ce qu'elle lit les décimales?)
Je dois aussi préciser que mes données se trouvent à partir de la dixième
ligne de mon fichier source, qui est une extraction.
Les données son triées par ordre croissant à partir du revêtement, puis du
diamètre et enfin de la nature.
Quelqu'un aura-t-il la bonté de m'aider à trouver la solution?
Merci beaucoup
A vous lire
Jérémie
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Pour récupérer la valeur exacte ou, comme le résultat que tu sembles attendre, la valeur la plus proche au-dessous : Matricielle : =INDEX(plageVitesse;EQUIV(revêt&MAX(SI(plageDia<=Dia;plageDia))&Nat;plageRevêt&p lageDia&plageNature;0))
PS : revêt, Dia et Nat sont des plages nommées contenant les variables Ne pas les mettre (comme tu l'as fait dans ton exemple) entre ""
AV
Pour récupérer la valeur exacte ou, comme le résultat que tu sembles attendre,
la valeur la plus proche au-dessous :
Matricielle :
=INDEX(plageVitesse;EQUIV(revêt&MAX(SI(plageDia<=Dia;plageDia))&Nat;plageRevêt&p
lageDia&plageNature;0))
PS : revêt, Dia et Nat sont des plages nommées contenant les variables
Ne pas les mettre (comme tu l'as fait dans ton exemple) entre ""
Pour récupérer la valeur exacte ou, comme le résultat que tu sembles attendre, la valeur la plus proche au-dessous : Matricielle : =INDEX(plageVitesse;EQUIV(revêt&MAX(SI(plageDia<=Dia;plageDia))&Nat;plageRevêt&p lageDia&plageNature;0))
PS : revêt, Dia et Nat sont des plages nommées contenant les variables Ne pas les mettre (comme tu l'as fait dans ton exemple) entre ""
AV
Jérémie
Re-bonjour,
Merci pour la réponse qui me fait avancée vers la solution.
Il y a cependant un soucis, puisque pour faire correspondre un diamètre avec la borne utilisée dans la table, c'est la fonction MAX qui est utilisée. Hors a un moment donné je passe à une série comme celle-ci : Revêtement Diamètre nature Vitesse 50 3.00 hard 40 50 3.20 soft 40 50 3.50 soft 35 50 4.40 hard 35 50 4.50 soft 35 C'est à dire qu'il faut tenir compte de la nature du materiau. Si je cherche la vitesse suivante : Rev Dia nature 50 3.25 hard -> il y a une erreur car la formule max renvoi à 3.20 au lieu de 3.00
Dans ce cas ma question est : comment tenir compte du materiau dans la formule Max(si(plageDia<=Dia; plageDia)) ? Est que dans la formule Index(xxx;EQUIV()), il faut intéger une sous formule pour trouver la bonne inférieure à laquelle correspond le diamètre et le matériau. Est-ce que c'est possible?
Merci A vous lire Jérémie
Pour récupérer la valeur exacte ou, comme le résultat que tu sembles attendre, la valeur la plus proche au-dessous : Matricielle : =INDEX(plageVitesse;EQUIV(revêt&MAX(SI(plageDia<=Dia;plageDia))&Nat;plageRevêt&p lageDia&plageNature;0))
PS : revêt, Dia et Nat sont des plages nommées contenant les variables Ne pas les mettre (comme tu l'as fait dans ton exemple) entre ""
AV
Re-bonjour,
Merci pour la réponse qui me fait avancée vers la solution.
Il y a cependant un soucis, puisque pour faire correspondre un diamètre avec
la borne utilisée dans la table, c'est la fonction MAX qui est utilisée.
Hors a un moment donné je passe à une série comme celle-ci :
Revêtement Diamètre nature Vitesse
50 3.00 hard 40
50 3.20 soft 40
50 3.50 soft 35
50 4.40 hard 35
50 4.50 soft 35
C'est à dire qu'il faut tenir compte de la nature du materiau.
Si je cherche la vitesse suivante :
Rev Dia nature
50 3.25 hard -> il y a une erreur car la formule max renvoi à
3.20 au lieu de 3.00
Dans ce cas ma question est : comment tenir compte du materiau dans la
formule Max(si(plageDia<=Dia; plageDia)) ?
Est que dans la formule Index(xxx;EQUIV()), il faut intéger une sous formule
pour trouver la bonne inférieure à laquelle correspond le diamètre et le
matériau.
Est-ce que c'est possible?
Merci
A vous lire
Jérémie
Pour récupérer la valeur exacte ou, comme le résultat que tu sembles attendre,
la valeur la plus proche au-dessous :
Matricielle :
=INDEX(plageVitesse;EQUIV(revêt&MAX(SI(plageDia<=Dia;plageDia))&Nat;plageRevêt&p
lageDia&plageNature;0))
PS : revêt, Dia et Nat sont des plages nommées contenant les variables
Ne pas les mettre (comme tu l'as fait dans ton exemple) entre ""
Merci pour la réponse qui me fait avancée vers la solution.
Il y a cependant un soucis, puisque pour faire correspondre un diamètre avec la borne utilisée dans la table, c'est la fonction MAX qui est utilisée. Hors a un moment donné je passe à une série comme celle-ci : Revêtement Diamètre nature Vitesse 50 3.00 hard 40 50 3.20 soft 40 50 3.50 soft 35 50 4.40 hard 35 50 4.50 soft 35 C'est à dire qu'il faut tenir compte de la nature du materiau. Si je cherche la vitesse suivante : Rev Dia nature 50 3.25 hard -> il y a une erreur car la formule max renvoi à 3.20 au lieu de 3.00
Dans ce cas ma question est : comment tenir compte du materiau dans la formule Max(si(plageDia<=Dia; plageDia)) ? Est que dans la formule Index(xxx;EQUIV()), il faut intéger une sous formule pour trouver la bonne inférieure à laquelle correspond le diamètre et le matériau. Est-ce que c'est possible?
Merci A vous lire Jérémie
Pour récupérer la valeur exacte ou, comme le résultat que tu sembles attendre, la valeur la plus proche au-dessous : Matricielle : =INDEX(plageVitesse;EQUIV(revêt&MAX(SI(plageDia<=Dia;plageDia))&Nat;plageRevêt&p lageDia&plageNature;0))
PS : revêt, Dia et Nat sont des plages nommées contenant les variables Ne pas les mettre (comme tu l'as fait dans ton exemple) entre ""
AV
ChrisV
Bonjour Jérémie,
En attendant le réveil d'Alain... avec les plages nommées A2:A6 (reV), B2:B6 (diA), C2:C6 (naT) et D2:D6 (viT) revR: revètement recherché diaR: diamètre recherché natR: nature recherchée (à saisir sans les { } et valider par Ctrl+Shift+Entrée)
Merci pour la réponse qui me fait avancée vers la solution.
Il y a cependant un soucis, puisque pour faire correspondre un diamètre avec la borne utilisée dans la table, c'est la fonction MAX qui est utilisée. Hors a un moment donné je passe à une série comme celle-ci : Revêtement Diamètre nature Vitesse 50 3.00 hard 40 50 3.20 soft 40 50 3.50 soft 35 50 4.40 hard 35 50 4.50 soft 35 C'est à dire qu'il faut tenir compte de la nature du materiau. Si je cherche la vitesse suivante : Rev Dia nature 50 3.25 hard -> il y a une erreur car la formule max renvoi à 3.20 au lieu de 3.00
Dans ce cas ma question est : comment tenir compte du materiau dans la formule Max(si(plageDia<=Dia; plageDia)) ? Est que dans la formule Index(xxx;EQUIV()), il faut intéger une sous formule pour trouver la bonne inférieure à laquelle correspond le diamètre et le matériau. Est-ce que c'est possible?
Merci A vous lire Jérémie
Pour récupérer la valeur exacte ou, comme le résultat que tu sembles attendre, la valeur la plus proche au-dessous : Matricielle : =INDEX(plageVitesse;EQUIV(revêt&MAX(SI(plageDia<=Dia;plageDia))&Nat;plageRevêt&p lageDia&plageNature;0))
PS : revêt, Dia et Nat sont des plages nommées contenant les variables Ne pas les mettre (comme tu l'as fait dans ton exemple) entre ""
AV
Bonjour Jérémie,
En attendant le réveil d'Alain...
avec les plages nommées A2:A6 (reV), B2:B6 (diA), C2:C6 (naT) et D2:D6 (viT)
revR: revètement recherché
diaR: diamètre recherché
natR: nature recherchée
(à saisir sans les { } et valider par Ctrl+Shift+Entrée)
"Jérémie" <Jrmie@discussions.microsoft.com> a écrit dans le message de news:
E64417BE-DFA4-4F73-84BC-E7E561FF3144@microsoft.com...
Re-bonjour,
Merci pour la réponse qui me fait avancée vers la solution.
Il y a cependant un soucis, puisque pour faire correspondre un diamètre
avec
la borne utilisée dans la table, c'est la fonction MAX qui est utilisée.
Hors a un moment donné je passe à une série comme celle-ci :
Revêtement Diamètre nature Vitesse
50 3.00 hard 40
50 3.20 soft 40
50 3.50 soft 35
50 4.40 hard 35
50 4.50 soft 35
C'est à dire qu'il faut tenir compte de la nature du materiau.
Si je cherche la vitesse suivante :
Rev Dia nature
50 3.25 hard -> il y a une erreur car la formule max renvoi
à
3.20 au lieu de 3.00
Dans ce cas ma question est : comment tenir compte du materiau dans la
formule Max(si(plageDia<=Dia; plageDia)) ?
Est que dans la formule Index(xxx;EQUIV()), il faut intéger une sous
formule
pour trouver la bonne inférieure à laquelle correspond le diamètre et le
matériau.
Est-ce que c'est possible?
Merci
A vous lire
Jérémie
Pour récupérer la valeur exacte ou, comme le résultat que tu sembles
attendre,
la valeur la plus proche au-dessous :
Matricielle :
=INDEX(plageVitesse;EQUIV(revêt&MAX(SI(plageDia<=Dia;plageDia))&Nat;plageRevêt&p
lageDia&plageNature;0))
PS : revêt, Dia et Nat sont des plages nommées contenant les variables
Ne pas les mettre (comme tu l'as fait dans ton exemple) entre ""
En attendant le réveil d'Alain... avec les plages nommées A2:A6 (reV), B2:B6 (diA), C2:C6 (naT) et D2:D6 (viT) revR: revètement recherché diaR: diamètre recherché natR: nature recherchée (à saisir sans les { } et valider par Ctrl+Shift+Entrée)
Merci pour la réponse qui me fait avancée vers la solution.
Il y a cependant un soucis, puisque pour faire correspondre un diamètre avec la borne utilisée dans la table, c'est la fonction MAX qui est utilisée. Hors a un moment donné je passe à une série comme celle-ci : Revêtement Diamètre nature Vitesse 50 3.00 hard 40 50 3.20 soft 40 50 3.50 soft 35 50 4.40 hard 35 50 4.50 soft 35 C'est à dire qu'il faut tenir compte de la nature du materiau. Si je cherche la vitesse suivante : Rev Dia nature 50 3.25 hard -> il y a une erreur car la formule max renvoi à 3.20 au lieu de 3.00
Dans ce cas ma question est : comment tenir compte du materiau dans la formule Max(si(plageDia<=Dia; plageDia)) ? Est que dans la formule Index(xxx;EQUIV()), il faut intéger une sous formule pour trouver la bonne inférieure à laquelle correspond le diamètre et le matériau. Est-ce que c'est possible?
Merci A vous lire Jérémie
Pour récupérer la valeur exacte ou, comme le résultat que tu sembles attendre, la valeur la plus proche au-dessous : Matricielle : =INDEX(plageVitesse;EQUIV(revêt&MAX(SI(plageDia<=Dia;plageDia))&Nat;plageRevêt&p lageDia&plageNature;0))
PS : revêt, Dia et Nat sont des plages nommées contenant les variables Ne pas les mettre (comme tu l'as fait dans ton exemple) entre ""
Merci beaucoup Alain et ChrisV, vous m'avez bien aidé, maintenant mon tableau de simulation fonctionne parfaitement.
En lisant vos réponses, ça semble simple, il faut seulement parvenir à l'exprimer correctement dans excel. J'utilisais exclusivement la fonction rechercheV,maintenant je peux employer d'autres solutions.
Merci à vous
En attendant le réveil d'Alain...
Bon;..ben je vais me recoucher alors ? ;-) AV
Bonjour,
Merci beaucoup Alain et ChrisV, vous m'avez bien aidé, maintenant mon
tableau de simulation fonctionne parfaitement.
En lisant vos réponses, ça semble simple, il faut seulement parvenir à
l'exprimer correctement dans excel.
J'utilisais exclusivement la fonction rechercheV,maintenant je peux employer
d'autres solutions.
Merci beaucoup Alain et ChrisV, vous m'avez bien aidé, maintenant mon tableau de simulation fonctionne parfaitement.
En lisant vos réponses, ça semble simple, il faut seulement parvenir à l'exprimer correctement dans excel. J'utilisais exclusivement la fonction rechercheV,maintenant je peux employer d'autres solutions.
Merci à vous
En attendant le réveil d'Alain...
Bon;..ben je vais me recoucher alors ? ;-) AV
AV
J'utilisais exclusivement la fonction rechercheV,maintenant je peux employer d'autres solutions.
Ca c'est une vraie bonne nouvelle ! ;-) AV
J'utilisais exclusivement la fonction rechercheV,maintenant je peux employer
d'autres solutions.