Microsoft 365 recherchev multicritère avec date

dd_76

XLDnaute Nouveau
Bonjour a tous,

Je bloque sur l'élaboration d'une formule : je souhaite en fonction du nom prénom ainsi que la date de présence, récupérer le contenu d'une cellule
voici un fichier excel qui sera plus explicite.
sur l'onglet "EXTRACT" en colonne O, je souhaite une formule qui vienne me récupérer si ETT ou A en focntion du nom prénom (colonne F) et critère de date (colonne C)
tout ça en lien avec la table

un grand merci a tous
belle journée
 

Pièces jointes

  • AIDE FORUM.xlsx
    27.2 KB · Affichages: 7
Solution
Re-,
#CALC apparaît s'il n'y a aucune concordance (soit Nom Prénom, soit des dates incompatibles...)
On peut modifier ainsi :
Code:
=SIERREUR(FILTRE(Table_Personnel[Type];([@[Nom Prénom]]=Table_Personnel[Nom]&" "&Table_Personnel[Prénom])*([@[Date Sortie]]>=Table_Personnel[du])*([@[Date Sortie]]<=Table_Personnel[au]));"Introuvable")

JHA

XLDnaute Barbatruc
Bonjour à tous,

Formule matricielle à essayer
VB:
=SI(ESTNUM(EQUIV($C2;LIGNE(INDIRECT(DECALER(Table!$G$1;EQUIV(EXTRACT!$F2&"ETT";Table_Personnel[NOM Prénom]&Table_Personnel[Type];0);)&":"&DECALER(Table!$H$1;EQUIV(EXTRACT!$F2&"ETT";Table_Personnel[NOM Prénom]&Table_Personnel[Type];0);)));0));"ETT";SI(ESTNUM(EQUIV($C2;LIGNE(INDIRECT(DECALER(Table!$G$1;EQUIV(EXTRACT!$F2&"A";Table_Personnel[NOM Prénom]&Table_Personnel[Type];0);)&":"&DECALER(Table!$H$1;EQUIV(EXTRACT!$F2&"A";Table_Personnel[NOM Prénom]&Table_Personnel[Type];0);)));0));"A";"Inconnu"))

JHA
 

Pièces jointes

  • AIDE FORUM.xlsx
    28.3 KB · Affichages: 6

JHA

XLDnaute Barbatruc
Bonjour à tous,


Je pense que tu seras obligé de passer par une matricielle ou ce sera du code VBA.
Comme tu as la version 365, pas besoin de valider par Ctrl+Maj+Entrée, cela sera transparent pour toi.

JHA
 

dd_76

XLDnaute Nouveau
Bonjour à tous,


Je pense que tu seras obligé de passer par une matricielle ou ce sera du code VBA.
Comme tu as la version 365, pas besoin de valider par Ctrl+Maj+Entrée, cela sera transparent pour toi.

JHA
et le code VBA c'est long a faire pour vous?
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Désolé, je suis nul en VBA, patience, tu auras certainement d'autres propositions mais un code VBA doit être adapté au fichier donc tu auras également des "retouches" à faire.
Il est vrai que la formule n'est pas facile à construire mais je n'ai pas trouvé plus court.

JHA
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Ne possédant pas la version 365, je ne peux pas utiliser la fonction filtre().
Je me suis inspiré de la réponse de @Jeannette ;) que je salue, pour te proposer cette formule.
VB:
=DECALER(Table!$B$1;EQUIV(1;(EXTRACT!$F2=Table_Personnel[NOM Prénom])*(EXTRACT!$C2>=Table_Personnel[du])*(EXTRACT!$C2<=Table_Personnel[au]);0);)

JHA
 

Pièces jointes

  • AIDE FORUM bis.xlsx
    28.3 KB · Affichages: 0

Jeannette

XLDnaute Junior
Re-,
#CALC apparaît s'il n'y a aucune concordance (soit Nom Prénom, soit des dates incompatibles...)
On peut modifier ainsi :
Code:
=SIERREUR(FILTRE(Table_Personnel[Type];([@[Nom Prénom]]=Table_Personnel[Nom]&" "&Table_Personnel[Prénom])*([@[Date Sortie]]>=Table_Personnel[du])*([@[Date Sortie]]<=Table_Personnel[au]));"Introuvable")
 

dd_76

XLDnaute Nouveau
Re-,
#CALC apparaît s'il n'y a aucune concordance (soit Nom Prénom, soit des dates incompatibles...)
On peut modifier ainsi :
Code:
=SIERREUR(FILTRE(Table_Personnel[Type];([@[Nom Prénom]]=Table_Personnel[Nom]&" "&Table_Personnel[Prénom])*([@[Date Sortie]]>=Table_Personnel[du])*([@[Date Sortie]]<=Table_Personnel[au]));"Introuvable")
Oui je m'en suis rendu compte
mais c'est bien comme ça sa me permet de voir que la Table n'a pas été mise a jour
un grand merci
je finalise cette après midi
 

Discussions similaires

Réponses
19
Affichages
200

Statistiques des forums

Discussions
314 017
Messages
2 104 578
Membres
109 081
dernier inscrit
Vio21