BESOIN D'AIDE FONCTION DECALER ET RECHERCHEV

Fermé
XROYER Messages postés 7 Date d'inscription dimanche 22 mars 2009 Statut Membre Dernière intervention 23 mars 2009 - 22 mars 2009 à 17:35
Raymond PENTIER Messages postés 58760 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 23 mars 2009 à 23:58
Bonjour,

Je n'arrive pas à cumuler une fonction décaler() avec une fonction recherchev().

Je souhaite calculer une date B qui se situe X jours après une date A en tenant compte d'un calendrier de jours ouvrés sur un atelier.

A1 : date A
A2 : date B
D1 : décalage entre date A et date B (X jours ouvrés)

E1:E30 : liste des jours ouvrés d'un atelier triés par ordre croissant


Ma formule qui ne fonctionne pas :

DATE B =

= decaler(recherchev("A1";"E1:E30";1;FAUX);"D1";0;1;1)

Si quelqu'un peux m'aider, je serais vraiment très heureux !

MERCI

6 réponses

leplot Messages postés 191 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 13 août 2015 131
22 mars 2009 à 18:44
Bonjour,

la fonction decaler nécessite une référence or recherchev retourne une valeur.
Il n'y a pas besoin de decaler.


=INDEX(E1:E30;EQUIV(A1;E1:E30;1)+D1)

Equiv donne le rang de A1 dans la plage de date. Le ";1" permet de donner la date inférieure si elle n'est pas dans la liste.

Index : pointe dans une plage à un rang donné
ici dans la plage E1:E30, le rang cherché est celui de A1 (equiv(...)) + D1

En utilisant decaler :
=DECALER(INDIRECT("E" & EQUIV(A1;E1:E30;1));D1;0)

Equiv donne le rang de A1 dans la plage de date. Le ";1" permet de donner la date inférieure si elle n'est pas dans la liste.
Indirect : permet d'avoir une référence composée de E et du rang.
Decaler : pointe sur la référence cherchée et se décale de D1 lignes et 0 colonne

NB : si la plage ne commence pas en ligne 1 mais en 5 par exemple la formule devient
=DECALER(INDIRECT("E" & EQUIV(A1;E1:E30;1)+4);D1;0)
car le rang 1 correspond à la ligne 5.

Bonne continuation

LePlot
7