Recherche à 3 valeurs sur une ligne

Résolu
Manon -  
-
Bonjour,

J'ai une base de données d'environ 3000 lignes avec 10 colonnes.
Dans un colonne j'ai le numéro de journée (3 à 7). Ce numéro peut se répéter plusieurs fois.
Chaque numéro de journée est associé à des personnes (matricule) qui peuvent se répéter plusieurs fois et à une heure de départ qui peut se répéter à plusieurs reprises.

Donc :

Jour #cherché #matricule hre départ hre fin départ destination
3 1 100 100 130 T G
3 1 101 150 230 G T
3 1 102 245 400 T G
3 2 150 110 330 G G
3 2 250 400 800 G G
4 1 100 100 130 T G
4 1 101 150 230 G T

et ainsi de suite.

Le principe est que 3 = lundi, donc : le mat 100, le lundi, prend un véhicule (# cherché=1) et part à 1h00 du T et revient à 130 au G. Ensuite, le même véhicule (# cherché=1) est pris par le mat 101 qui part à 150 du G et termine à 230 au T....

Donc, le directeur veut pouvoir inscrire : le numéro de journée, le matricule de l'employé et l'heure du départ pour obtenir, si c'est le même numéro de véhicule la ligne contenant l'information de qui il a pris son véhicule. Si j'entre lat mat 101, jour 3, départ de 150, j'obtiens la 1ère ligne, soit le mat 100 qui avait le véhicule avant le mat 101 le jour 3.

Merci.

A voir également:

4 réponses


 
Bonjour,
C'est incompréhensible.
Peut-être avec un petit exemple sur un fichier que vous mettez sur https://www.cjoint.com/ et poster le lien.
0
Manon
 
Bonjour Le Pingou,

C'est ma première expérience sur ce forum. Alors je ne savais pas trop comment joindre un fichier exemple. Mais le voici : http://cjoint.com/?BDrnWy6h55s

Dans le premier onglet il y a un extrait de la table de données et dans le deuxième un exemple d'une recherche à faire.

Les 3 données saisies par le supérieur doivent être présentes sur la même ligne et le supérieur veut obtenir les données de la ligne précédente de ce résultat de recherche.

Merci.

Manon
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Bonjour Mano
En attendant mon ami Le pingou que je salue bien bas et qui vous en dirait autant, essayez ceci en A3:

=INDEX(données!A:A;EQUIV(E6&E7&E8;données!A:A&données!C:C&données!D:D;0)-1)

cette formule est matricielle et doit être entrée avec Enter en maintenant ctrl et shift enfoncées

Avec cette manip, elle doit se retrouver entre accolades dans la barre de formule.

Bien entendu, il faut adapter le A:A de INDEX à la colonne où se trouve la valeur à ressortir. B:B C:C etc.....

Il y a des moyens d'aligner la formule sur la colonne en tirant vers la droite (en remplaçant le A:A de index par un empilage de codes, mais vu le peu de formules à réajuster je pense que le jeu n'en vaut pas la chandelle.

crdlmnt


Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
Manon
 
Merci.

J'ai copié la formule dans A13. Lorsque je glisse la formule dans B13, je dois modifier comme suit??:
=INDEX(données!B:B;EQUIV(E6&E7&E8;données!B:B&données!C:C&données!D:D;0)-1) et dans C13 je remplace B par C.

Si je fais comme j'ai indiqué, je n'ai pas le bon résultat.

Je n'ai jamais fait un tel genre de recherche sur 3 variables pour obtenir la ligne précédente, alors je suis un peu perdue!!!

À l'aide...
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 440
 
Non
si vous tirez la formule (j'ai un peu oublié de préciser), il faut bloquer les champs du code EQUIV (voir les signe $) sinon les colonnes du champ de recherche se décalent.

=INDEX(données!A:A;EQUIV(E6&E7&E8;données!$A:$A&données!$C:$C&données!$D:$D;0)-1)

crdlmnt
0
Manon
 
Merci. Après vous avoir écrit, j'ai examiné la formule et l'ai enfin comprise!!! Ce forum est merveilleux et vous êtes TOP serviable.

À la prochaine....
0

 
Bonjour Manon,
Merci pour le fichier.
C'est avec plaisir que je prends note du relais de l'ami Vaucluse (salutations) et de son excellente proposition.
Je pense que c'est parfait pour vous.
0