XL 2016 INDEX EQUIV ou EQUIV tableau de recherche prend le n° de colonne définit avant par index

pene

XLDnaute Nouveau
Je bloque complètement! quelqu'un saurait il m'aider?
il faut que je combine avec mon opération. Que mon EQUIV recherche dans une colonne spécifique définie juste avant dans la même formule...

=EQUIV(D7;Dates_taches_début!1:1;0) => ok me détermine bien la 3eme colonne

Après il faut que j'intègre ce résultat dans mon 1er EQUIV pour que mon index me renvoi la date qu'il va rechercher dans la 3eme colonne.
J'ai essayé cela

=INDEX(Dates_taches_début!$B:$C;EQUIV(S$3;INDEX(Dates_taches_début!1:1;EQUIV(D7;Dates_taches_début!1:1;0));1)) => #N/A

Merci d'avance
 

Pièces jointes

  • content-calendar V2.xlsx
    792.8 KB · Affichages: 16

chris

XLDnaute Barbatruc
Bonjour

Pas sûr d'avoir tout compris puisqu'on cherche et donc trouve ou pas la date en S3
VB:
=INDEX(DECALER(Dates_taches_début!A:A;;EQUIV(Content!$D7;Dates_taches_début!1:1;0)-2);EQUIV(S$3;DECALER(Dates_taches_début!A:A;;EQUIV(Content!$D7;Dates_taches_début!1:1;0)-2);0))
 

pene

XLDnaute Nouveau
Bonjour

Pas sûr d'avoir tout compris puisqu'on cherche et donc trouve ou pas la date en S3
VB:
=INDEX(DECALER(Dates_taches_début!A:A;;EQUIV(Content!$D7;Dates_taches_début!1:1;0)-2);EQUIV(S$3;DECALER(Dates_taches_début!A:A;;EQUIV(Content!$D7;Dates_taches_début!1:1;0)-2);0))
Bonjour Chris,

Merci beaucoup. Je m'explique ;-).
J'ai besoin de retrouver une date au plus proche en fonction d'une opération (présent en colonne dans un autre onglet) et de comparer cette même date à une date situé exactement au même endroit dans un autre onglet (date fin).
Je pense qu'il faut effectivement que je joue avec les décaler pour aller chercher la colonne en fonction de mon opération. dans mon tableau d'origine en ligne.

Exemple: pour l'opération D7 : Budget stagiaires + projection et la colonne S3 07/07/2023.
j'ai besoin de dire SI S3 >= "la date la plus proche du 7/07/23 que va trouver mon index equiv fonction de mon opération D7 dans Dates_taches_debut" (B2 de dates début)
et comme après je dois comparer le 7/7/2023 et regarder si elle est inférieure à la date trouvée dans la même cellule mais dans mon onglet dates_taches_fin. en l'occurrence dans l'exemple : (B2 de dates fin).

après je demande si c'est vrai "1" sinon "0".

j'ai réussi sur ma 1ere ligne puisque je prenais dans mon EQUIV directement la colonne B.... sauf que quand j'étends ma formule aux autres lignes cela renvoie toujours les données de la colonne B. .. donc pas la bonne opération.

Je te remets ma formule d'origine...
=SI(ET(S$3>=INDEX(Dates_taches_début!$B:$B;EQUIV(S$3;Dates_taches_début!$B:$B;1)));S$3<=INDEX(Dates_taches_fin!$B:$B;(EQUIV(Content!S$3;Dates_taches_début!$B:$B;1))));1;0)


Merci encore
 

chris

XLDnaute Barbatruc
RE

Ta formule ne cherche pas dans dans les dates de fin et donc compare 2 fois la même chose

Par ailleurs on se sait pas si la colonne A de ces 2 onglets est un ID ou non

En recherche approximative rechercher sur 2 onglets sans ID est totalement aléatoire
 

pene

XLDnaute Nouveau
RE

Ta formule ne cherche pas dans dans les dates de fin et donc compare 2 fois la même chose

Par ailleurs on se sait pas si la colonne A de ces 2 onglets est un ID ou non

En recherche approximative rechercher sur 2 onglets sans ID est totalement aléatoire
Zut, je pensais que ma formule faisait reference sur la 2eme parti à mes dates de fin...

en fait je ne sais pas si c'est possible mais je voudrais juste que mon EQUIV sur ma ligne 7 aille chercher la colonne 3 de l'onglet date de début, puis en ligne 8 automatiquement aille regarder dans la colonne 4 et ainsi de suite...
 

job75

XLDnaute Barbatruc
Bonjour pene, chris,

La date recherchée S3 est 07/07/2023.

Or en colonne C de la feuille "Dates_taches_début" la date minimum est le 10/10/2023, supérieure à S3.

EQUIV(S$3;XXX;1) renvoie alors forcément #N/A.

Pour que la formule renvoie 10/10/2023 il faut utiliser SIERREUR :
Code:
=INDEX(DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1);SIERREUR(EQUIV(S$3;DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1);1);2))
qui renvoie la date en ligne 2.

On peut aussi utiliser (je préfère) :
Code:
=SIERREUR(RECHERCHE(S$3;DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1));MIN(DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1)))
qui renvoie le minimum de la colonne C.

A+
 

pene

XLDnaute Nouveau
Bonjour pene, chris,

La date recherchée S3 est 07/07/2023.

Or en colonne C de la feuille "Dates_taches_début" la date minimum est le 10/10/2023, supérieure à S3.

EQUIV(S$3;XXX;1) renvoie alors forcément #N/A.

Pour que la formule renvoie 10/10/2023 il faut utiliser SIERREUR :
Code:
=INDEX(DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1);SIERREUR(EQUIV(S$3;DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1);1);2))
qui renvoie la date en ligne 2.

On peut aussi utiliser (je préfère) :
Code:
=SIERREUR(RECHERCHE(S$3;DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1));MIN(DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1)))
qui renvoie le minimum de la colonne C.

A+
Bonjour Job75
Merci beaucoup cela fonctionne pour me ramener la bonne date la plus proche ;-) et même lorsque je dupplique pour changer d'opération.

Maintenant, j'ai identifié ma 1ere date. Il faut que grâce à cette donnée je cherche l'équivalent dans date fin...
après il faut que je compare avec mon S3...

Avant de rencontrer mon problème de dupplication j'avais trouver ca :
=SI(ET(S$3>=INDEX(Dates_taches_début!$B:$B;EQUIV(S$3;Dates_taches_début!$B:$B;1)));S$3<=INDEX(Dates_taches_fin!$B:$B;(EQUIV(Content!S$3;Dates_taches_début!$B:$B;1))));1;0)

Il faut que j'arrive à modifier mes conditions et mes INDEX en fonction...

Un dernier petit coup de main?

Merci infiniment
 

pene

XLDnaute Nouveau
Bonjour Job75
Merci beaucoup cela fonctionne pour me ramener la bonne date la plus proche ;-) et même lorsque je dupplique pour changer d'opération.

Maintenant, j'ai identifié ma 1ere date. Il faut que grâce à cette donnée je cherche l'équivalent dans date fin...
après il faut que je compare avec mon S3...

Avant de rencontrer mon problème de dupplication j'avais trouver ca :
=SI(ET(S$3>=INDEX(Dates_taches_début!$B:$B;EQUIV(S$3;Dates_taches_début!$B:$B;1)));S$3<=INDEX(Dates_taches_fin!$B:$B;(EQUIV(Content!S$3;Dates_taches_début!$B:$B;1))));1;0)

Il faut que j'arrive à modifier mes conditions et mes INDEX en fonction...

Un dernier petit coup de main?

Merci infiniment
Cela fonctionne pour la 1ere date de chaque opérations, mais pas pour les dates des lignes suivantes...

=SI(ET(S$3>=SIERREUR(RECHERCHE(S$3;DECALER(Dates_taches_début!$A:$A;;EQUIV($D8;Dates_taches_début!$1:$1;0)-1));MIN(DECALER(Dates_taches_début!$A:$A;;EQUIV($D8;Dates_taches_début!$1:$1;0)-1)));S$3<= SIERREUR(RECHERCHE(S$3;DECALER(Dates_taches_fin!$A:$A;;EQUIV($D8;Dates_taches_fin!$1:$1;0)-1));MIN(DECALER(Dates_taches_fin!$A:$A;;EQUIV($D8;Dates_taches_fin!$1:$1;0)-1))));1;0)

Merci, j'avance mais j'ai pas terminé!
 

job75

XLDnaute Barbatruc
Formule en ligne 7 :
Code:
=N((S$3-SIERREUR(RECHERCHE(S$3;DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1));MIN(DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1))))*(S$3-SIERREUR(RECHERCHE(S$3;DECALER(Dates_taches_fin!A:A;;EQUIV(D7;Dates_taches_fin!$1:$1;0)-1));MIN(DECALER(Dates_taches_fin!A:A;;EQUIV(D7;Dates_taches_fin!$1:$1;0)-1))))<=0)
Elle renvoie 0 ce qui est normal puisque les 2 dates sont le 10/10/2023, S3 est à l'extérieur..

En lignes 8 et suivantes la formule renvoie #N/A ce qui est normal puisque dans les 2 feuilles il y a des #N/A dans les colonnes à partir de D.
 

pene

XLDnaute Nouveau
Formule en ligne 7 :
Code:
=N((S$3-SIERREUR(RECHERCHE(S$3;DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1));MIN(DECALER(Dates_taches_début!A:A;;EQUIV(D7;Dates_taches_début!$1:$1;0)-1))))*(S$3-SIERREUR(RECHERCHE(S$3;DECALER(Dates_taches_fin!A:A;;EQUIV(D7;Dates_taches_fin!$1:$1;0)-1));MIN(DECALER(Dates_taches_fin!A:A;;EQUIV(D7;Dates_taches_fin!$1:$1;0)-1))))<=0)
Elle renvoie 0 ce qui est normal puisque les 2 dates sont le 10/10/2023, S3 est à l'extérieur..

En lignes 8 et suivantes la formule renvoie #N/A ce qui est normal puisque dans les 2 feuilles il y a des #N/A dans les colonnes à partir de D.
Merci. Cela fonctionne bien sur la 1ere période (en ligne7), du 18 au 21 juillet j'ai bien un 1.
Par contre, quand j'étends la formule, j'ai bien un 1 le 2 aout (date de début de la ligne suivante dans date début) mais après le 3 aout j'ai 0 alors que je devrais trouver un 1 jusqu'au 7 aout ( 2eme date de fin de la colonne).
Par contre le 7 aout, j'ai bien un 1.

Je ne connais pas du tout les formule =N

J'étais partie du >= date debut ET <= date fin de mon coté... mais ca ne fonctionne que sur la 1ere période aussi
 

pene

XLDnaute Nouveau
Joignez votre fichier en colorant les résultats qui vous posent problème.

La fonction N convertit les valeurs logiques en 1 et 0.
En ligne 6 colonne AJ:AS je devrais avoir un 1 car date début 24/07 date fin 03/08 ma formule :

Code:
=SI(ET(AU$3>=SIERREUR(RECHERCHE(AU$3;DECALER(Dates_taches_début!$A:$A;;EQUIV($D6;Dates_taches_début!$1:$1;0)-1));MIN(DECALER(Dates_taches_début!$A:$A;;EQUIV($D6;Dates_taches_début!$1:$1;0)-1)));AU$3<= SIERREUR(RECHERCHE(AU$3;DECALER(Dates_taches_fin!$A:$A;;EQUIV($D6;Dates_taches_fin!$1:$1;0)-1));MIN(DECALER(Dates_taches_fin!$A:$A;;EQUIV($D6;Dates_taches_fin!$1:$1;0)-1))));1;0)0

En ligne 7 colonne AT:AW je devrais avoir un 1 car date début 02/08 date fin 07/08 votre formule :

Code:
=N((AT$3-SIERREUR(RECHERCHE(AT$3;DECALER(Dates_taches_début!$A:$A;;EQUIV($D7;Dates_taches_début!$1:$1;0)-1));MIN(DECALER(Dates_taches_début!$A:$A;;EQUIV($D7;Dates_taches_début!$1:$1;0)-1))))*(AT$3-SIERREUR(RECHERCHE(AT$3;DECALER(Dates_taches_fin!$A:$A;;EQUIV($D7;Dates_taches_fin!$1:$1;0)-1));MIN(DECALER(Dates_taches_fin!$A:$A;;EQUIV($D7;Dates_taches_fin!$1:$1;0)-1))))<=0)
 

Pièces jointes

  • content-calendar V2.xlsx
    800.7 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
313 225
Messages
2 096 347
Membres
106 583
dernier inscrit
yasinus