[Challenge] Simplifier une formule (index / equiv / decaler)

mikachu

XLDnaute Occasionnel
Bonjour,

En répondant à un post, j'ai travaillé sur une formule qui va m'aider. Seul Hic: Ladite formule est assez compliquée et une fois sur 2 je me gourre en la réécrivant...

Petite explication:
J'ai un tableau à 3 colonnes:
- 1ere colonne: Des jours
- 2ème colonne: des heures
- 3ème colonne: des noms
A un autre endroit du tableau, je note le jour et l'heure et j'ai besoin de ressortir le nom associé à la date et au nom
J'en ai déduit la formule suivante que je voudrais simplifier:
VB:
=INDEX(DECALER(A1:C4;EQUIV(F8;A:A;0)-1;0;4;3);EQUIV(G8;DECALER(B1:B4;EQUIV(F8;A:A;0)-1;0;4;1);0);3)

Petite précision: la mise en page du tableau est importante et ne peut être changée (ceci est un exemple pour le fil que j'applique à nombre de tableaux).

Vous comprendrez surement mieux sur le fichier exemple.

Merci d'avance pour votre aide
 

Pièces jointes

  • exemple index equiv decaler.xls
    14 KB · Affichages: 61

vgendron

XLDnaute Barbatruc
Re : [Challenge] Simplifier une formule (index / equiv / decaler)

salut,
J'ai repris ton fichier tel quel
et j'ai mis cette formule:

=DECALER(A3;EQUIV(F8;A5:A16)+EQUIV(G8;B5:B8);2;4)

à priori, ca donne le meme résultat que ta formule

par contre. j'imagine que si dans l'une des dates tu rajouttes un créneau horaire ca ne marchera plus...
et il faut que tous tes créneaux soient les memes dans toutes les dates.. puique le second Equiv, cherche le creneau horaire juste en B5:B8
 
Dernière édition:

mikachu

XLDnaute Occasionnel
Re : [Challenge] Simplifier une formule (index / equiv / decaler)

Salut vgendron,

Ce qui est bizarre c'est que le résultat change en fonction de l'endroit ou je colle ta formule...
Chez moi, la formule ne donne pas le même résultat mais je m'en suis inspiré pour avoir ça

Code:
=DECALER(A1;EQUIV(F8;A:A)+EQUIV(G8;B5:B8)-2;2;1;1)

Qui est déjà beaucoup plus simple.
Ce qu'il faut savoir c'est que pour chaque jour il y aura toujours les mêmes plages horaires

Je pense que j'aurai ps plus simple mais si une autre personne trouve... je suis preneur :)

Merci
 

eriiic

XLDnaute Barbatruc
Re : [Challenge] Simplifier une formule (index / equiv / decaler)

Bonjour,

- il faut rendre absolu B5:B8 car si tu recopies vers le bas tu auras des erreurs.
- dans EQUIV(F8;A:A) tu recherches la valeur inférieure ou égale. Il faut la valeur exacte sinon tu regardes une autre date si celle cherchée est absente. Ajouter le param ;0
Code:
=DECALER(A1;EQUIV(F8;A:A;0)+EQUIV(G8;$B$5:$B$8)-2;2)
ou
=INDEX(C:C;EQUIV(F8;A:A;0)+EQUIV(G8;$B$5:$B$8)-1)

eric
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
576

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11