Recherche excel avec plusieurs parametres

Fermé
doudou225 - 27 sept. 2012 à 14:37
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 28 sept. 2012 à 18:22
Bonjour,

J'ai un tableau excel 2007 qui regroupe le cout de diffusion des spots publicitaires sur une chaine de radio. Il faut dire que le cout des spot fluctue beaucoup et cela en fonction de 3 parametres que sont:
- la durée du spot
-l'heure de passage (06h-00 à 07h-00; 07h-00 à 08h-00 etc ...)
-le jour de passage (selon que les jours ouvrables et le week end n'ont pas les memes tarifs)

Dans un premier temps, ce que je voudrais savoir c est le type de recherche approprié pour ce genre de tableau à plusieurs differents parametres.
Etant informaticiens réseau, mais novice avec excel, je me suis dit que la recherche V ou H uniquement ne suffiraient pas a faire ça vu qu'il faut 3 parametres pour aboutir au resultat final (ou je me trompe !!!!?????).

J ai aussi entendu parlé de formules matricielles, que je ne connais pas vraiment.

Laquelle des recherches serait la bonne dans un tel cas de figure?

Merci de me repondre.


6 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
27 sept. 2012 à 15:26
Bonjour,

Tout dépend comment sont organisées tes données sur la feuille.
Parfois il faut la modifier.

decaler() risque fort d'être utilisé, et si recherchev() n'est pas utilisable il y aura en plus equiv() et index()
Mais ça ne sera pas du matriciel (enfin normalement...).


Pour te répondre il faut un exemple de ton fichier.
cjoint.com et coller ici le lien fourni.

eric
0
http://cjoint.com/?BIBrlDbI78t

voici le lien de mon fichier et ce que je desire realiser .
Merci encore !!!!!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
27 sept. 2012 à 17:20
1) préciser si 7:00 est bien à compter dans 7:00-8:00 et non dans 6:00-7:00
2) heure de passage : penses-tu y saisir une heure réelle comme 6:30 ou une plage comme
06H00-07H00 ?

eric
0
merci de repondre encore une fois.

1) 7:00 compte dans 7:00 à 8:00 uniquement
2) lidee est d'ecrire 7:15:25 (hh:mm:ss)

merci de me repondre.

NB: je voudrais pas seulement un cadeau à exploiter, mais aussi maitriser le comment faire.
Grand merci a eric !!!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
Modifié par eriiic le 27/09/2012 à 18:35
Re,

=INDEX(DECALER($C$4:$G$11;;($D$21="week-end")*6);EQUIV($D$22;$A$4:$A$11;1);EQUIV($D$20;$C$3:$G$3;0))
Je t'ai décomposé la formule en F24 pour la compréhension.
https://www.cjoint.com/?BIBsHIN6861

eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci merci et grand merci Eric, ç marche super. Je prends le temps d'etudier la formule pour la maitriser. Donc attend toi a moi. lol
0
Quelque petites recherches ont été effectuées, mais j ai vraisemblablement besoin de directives.
=INDEX(DECALER($C$4:$G$11;;($D$20="week-end")*6);EQUIV($D$21;$A$4:$A$11;1);EQUIV($D$19;$C$3:$G$3;0))

la fonction decaler est encore floue dans mon esprit, mais je ne comprend vraiment pas ;($D$20="week-end")*6)

la fonction index se decomposant comme suit (matrice principale; ligne; colonne).

c est le referencement de la matrice principale de recherche (tarifs et des jours ouvrables, et aussi du week end) qui est flou.

Petites explications s'ils vous plait.
Merci.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
Modifié par eriiic le 28/09/2012 à 18:31
Bonjour,

$D$20="week-end" donne FAUX ou VRAI , ce qui est équivalent à 0 ou 1
Une fois multiplié par 6 ça donne donc un décalage de 0 ou 6 colonnes (normal ou WE)
Si WE alors $C$4:$G$11 devient $I$4:$M$11

EQUIV($D$22;$A$4:$A$11;1) donnant la ligne
et EQUIV($D$20;$C$3:$G$3;0) donnant la colonne de cette plage (éventuellement décalée) à ramener

eric
0