Recherche Données croisées sous Excel

Fermé
maxime18 - Modifié par maxime18 le 17/01/2013 à 10:12
 maxime18 - 28 janv. 2013 à 17:48
Bonjour,

Je cherche à effectuer une recherche à trois variables dans un tableau de donnée, je m'explique

Mon dossier excel est créé de la sorte

Trois Feuilles différentes
-
1ere nommé produit 1
2eme nommé produit 2
3eme nommé simulation tarifaire

-dans la feuille produit 1 j'ai un tableau organisée de la facon suivante
-
ligne 1 colone A = numéro de département
ligne 2 colone A = département 01
ligne 3 colone A = département 02 ...
...
Colone B ligne 1 = tranche poids 0 à 4 kg
Colone C ligne 1 = tranche poids 5 à 9 kg ...
...
Ligne 2 Colone B = prix département 01 pour un poids compris entre 0 et 4kg (5€)
Ligne 3 Colone B = prix département 02 pour un poids compris entre 0 et 4kg (8€)
...
Ligne 2 Colone C = prix département 01 pour un poids compris entre 5 et 9kg (10€)
Ligne 3 Colone C = prix département 02 pour un poids compris entre 5 et 9kg (15€)
...
Le tableau de la feuille 2 est organisée de la meme façon mais avec des tarifs différents.
-
Ma feuille trois me sert d'outil de simulation et comporte trois variables de recherche.
1ere variable (=case): Le département (donnée numérique)
2eme variable (=case): le poids (donnée numérique)
3eme variable (=case): le type de prestation (texte)
-
J'aimerai à partir de ces trois variables obtenir le résultat suivant:

- exemple je cherche à obtenir le prix de mon produit 1 pour le département 01 pour un poids de 9kg. je voudrait avoir à saisir dans la variable trois (produit1) dans la variable 2 (le poids de mon produit (9kg)) et dans la variable 1, mon département (01).
-
le résultat que je cherche à afficher dans la case de ma feuille 3 est donc la valeure présente dans ma feuille 1 ligne 2 colone C soit 10€.
-
Quelle fonction dois je insérer dans ma case de la feuille trois pour obtenir le résultat et faire en sorte que ma recherche se fasse sur la bonne feuille a la bonne ligne et dans la bonne colone selon les données que j'aurais renseigné dans mes variables ?
-
merci par avance pour votre aide car je ne m'en sors plus ...
A voir également:

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 412
17 janv. 2013 à 10:29
Bonjour
Exemple à adapter:
Recherche dans colonne A,B,C
résultat à trouver dans colonne D

valeur cherchée 1 en E1
valeur cherchée 2 en F1
valeur cherchée 3 en G1

En H1 la formule:

=INDEX(D:D;EQUIV(E1&F1&G1;A:A&B:B&C:C;0))

formule matricielle à entrer avec la touche ENTER en maintenant ctrl et shift enfoncées.
La formule doit se retrouver entre accolade automatiquement dans la barre de formule.
Et si vous voulez éviter des affichages #N/A
=SI(ESTERREUR(EQUIV(E1&F1&G1;A:A&B:B&C:C;0));"non référencé";INDEX(D:D;EQUIV(E1&F1&G1;A:A&B:B&C:C;0)))

Attention aux signes!

crdlmnt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 412
Modifié par Vaucluse le 17/01/2013 à 10:38
complément:
pour trouver le poids si il faut s'aligner sur la valeur inférieure,il vaut mieux, vu la combinaison des recherche, faire référence à une cellule de renvoi qui définira le poids exact à chercher
Pour cela:
1°° votre base de données doit être triée et classée selon les poids croissant en colonne C de l'exemple.
avec le poids cherché en cellule G1,en G2 la formule:
=INDEX(C:C;EQUIV(G1;D:D))
qui vous donnera le poids exact à prendre en compte, nécessaire pour le bon fonctionnement..
Avec cette option, G2 remplace G1 dans la formule en H1

crdlmnt

Ps si vous ne pouvez pas classer vos données selon les poids, faites un tableau complémentaire hors champ avec la liste des poids pour appliquer la formule de recherche du poids.
0
Je vais tenter votre méthode !
merci pour l'aide
0
Bonjour,

Bon, visiblement je n'arrive pas à m' en sortir ... Vaucluse si je vous transmet mon fichier en question vous pourriez y jeter un petit coup d'oeuil afin que je vous explique ce que je cherche à faire exactement ?

Merci par avance

Cordialement,
0