Rechercher une donnee dans un tableau dans un intervalle de dates

Bonjour,

2 onglets dans un fichier

Sur chaque onglet une liste de personnes avec des périodes

Les personnes ne sont pas nécessairement présentes sur le 2ème onglet

Pour une personne présente sur le 1er onglet, vérifier elle est présente sur le 2ème onglet et rattacher le motif d’absence sur le 1er onglet si ce dernier est compris dans l’ intervalle de dates du 1er onglet.

Ci-joint le fichier

Merci pour votre aide

Daniel

24fichier-test-1.xlsx (13.42 Ko)

Bonjour,

compliqué car ton Tableau2 est en texte, y compris pour les dates

ensuite tu as 2 plages à comparer

enfin une ligne du Tableau2 était en double (FAURE)

basé sur le début de la plage de Tableau1

pour toute ta plage de tableau 1

35fichier-test-1.xlsx (14.03 Ko)

Bonjour

Super efficace !! Bravo

Pour ma culture perso en "français" dans le texte comment lit-on ta formule?

Merci

Daniel

Bonjour

La touche F1 : permet déjà de bien avancer sur la compréhension et s'il reste des incompréhensions on complète...

=SI(
($C6+COLONNE()-COLONNE($E$5))>$D6; ... date de la colonne en cours = date début + nbre de colonnes depuis $E pour balayer toutes les dates
  ""; ... si cette date dépasse la fin de la période donnée en Feuille1 je mets blanc
  SIERREUR( ... servira à mettre blanc si pas trouvé, voir ci-dessous
........... ici c'est le coeur de la recherche .............
    INDEX('Tableau 2'!$E$6:$E$30; ... je vais rechercher le modif en colonne $E
    SOMMEPROD(
      LIGNE('Tableau 2'!$A$6:$A$30) ... numéro de la ligne qui va regrouper les conditions qui suivent
      *('Tableau 2'!$A$6:$A$30=DROITE("00000000"&'Tableau 1'!$A6;8)) ... condition sur matricule que je force à 8 chiffres = donnera 0 si rien, 1 si ok
      *(CNUM('Tableau 2'!$F$6:$F$30)<=($C6+COLONNE()-COLONNE($E$5))) ... condition sur la date de début correspondant au modif Feuille2, CNUM transformera la date texte en vraie date = donnera 0 si rien, 1 si ok
      *(CNUM('Tableau 2'!$G$6:$G$30)>=($C6+COLONNE()-COLONNE($E$5)))) ... ... condition sur la date de fin correspondant au modif Feuille2 = donnera 0 si rien, 1 si ok
    -LIGNE('Tableau 2'!$E$5)); ... je retranche le n° de la ligne d'en-tête
........... fin du coeur de la recherche .............
  "") ... si erreur alors je mets blanc car rien trouvé
)

SOMMEPROD fonctionne comme ceci : SOMMEPROD((matrice des valeurs)*(condition1)*(condition2)...) sachant que condition1, condition2 prennent les valeurs 1 si OK, 0 si notOK

Meri pour ton accompagnement

C'est intéressant, au delà de la technique pure, de comprendre comment le problème a été abordé dans sa logique.

Daniel

merci pour ton retour

Rechercher des sujets similaires à "rechercher donnee tableau intervalle dates"