XL 2016 Présence dans un intervalle

fabriciolig

XLDnaute Nouveau
Bonjour,

je cherche une formule me permettant d'indiquer la présence d'un individu ayant fait un test;

Dans mon exemple, la personne ACTHERGALLE est venue plusieurs fois (cf. premier tableau) mais sur le deuxième petit tableau à droite en bleu on voit que le test a été réalisé le 22/11/2023. Je cherche donc une formule qui me permet d"indiquer la venue dans laquelle elle a fait ce test dans le premier tableau
J'espère que cela est clair
En vous remerciant par avance

David
 

Pièces jointes

  • classeur3.xlsm
    9.8 KB · Affichages: 3

fabriciolig

XLDnaute Nouveau
Bonjour,
En cellule L2=INDEX($E$2:$E$22;EQUIV(J2;$C$2:$C$22;0))
Si j'ai bien compris
@+ Lolote83
Merci pour votre retour rapide,
cela ne marche pas tout à fait d'autant que dans mon exemple les dates de début et de fin sont identiques mais il arrive parfois que ces deux dates soient différentes. Il faut donc inclure également une notion de date de test supérieure à date de début et date de test inférieure à date de fin

Merci
David
 

chris

XLDnaute Barbatruc
Bonjour
Les dates des 2 tableaux sont en fait des textes : il faut commencer par les convertit en date

Ensuite ceci en G2, à étirer vers le bas fonctionne
VB:
=NB.SI.ENS($J$2:$J$5;C2;$K$2:$K$5;D2;$L$2:$L$5;">="&E2;$L$2:$L$5;"<="&F2)

Utiliser 2 tableaux structurés serait mieux :

Cela donnerait une formule se propageant automatiquement et une évolutivité
Code:
=NB.SI.ENS(Tests[NOM];[@NOM];Tests[PRENOM];[@PRENOM];Tests[DATETPT];">="&[@DEBUT];Tests[DATETPT];"<="&[@FIN])

EDIT
Si tu veux la date une autre formule dépend de ta version EXCEL

pour 2019 et plus
Code:
=FILTRE(Tests[DATETPT];(Tests[NOM]=[@NOM])*(Tests[PRENOM]=[@PRENOM])*(Tests[DATETPT]>=[@DEBUT])*(Tests[DATETPT]<=[@FIN]);"")
 

Pièces jointes

  • NB.SI.ENS.xlsx
    16.2 KB · Affichages: 2
Dernière édition:

chris

XLDnaute Barbatruc
RE
Voir mes corrections dans le message et le changement de la pièce jointe

Je viens de voir que tu as 2016 donc la formule pour récupérer la date devient :
VB:
=SIERREUR(SI(ET(DECALER(Tests[[#En-têtes];[DATETPT]];EQUIV([@NOM]&[@PRENOM];Tests[NOM]&Tests[PRENOM];0);0)>=[@DEBUT];DECALER(Tests[[#En-têtes];[DATETPT]];EQUIV([@NOM]&[@PRENOM];Tests[NOM]&Tests[PRENOM];0);0)<=[@FIN]);DECALER(Tests[[#En-têtes];[DATETPT]];EQUIV([@NOM]&[@PRENOM];Tests[NOM]&Tests[PRENOM];0);0);"");"")
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
313 125
Messages
2 095 510
Membres
106 276
dernier inscrit
sou'