Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
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
 

dd_76

XLDnaute Nouveau
ça marche, un grand merci a toi pour la proposition
 

Jeannette

XLDnaute Junior
Bonjour,
Dans la cellule O2, essayez cette formule :
Code:
=FILTRE(Table_Personnel[Type];([@[Nom Prénom]]=Table_Personnel[Nom]&" "&Table_Personnel[Prénom])*([@[Date Sortie]]>=Table_Personnel[du])*([@[Date Sortie]]<=Table_Personnel[au]))
 

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
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
202
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…