Comment trouver la liste des employés absent (vacances, maladie, formation, ...) pour une date donnée dans Excel ? C'est possible et en une seule formule.
Point de départ
La disposition des données est très importante, comme toujours avec Excel. Nous allons construire notre document avec 3 colonnes
- La date de départ en vacances
- La date de fin des vacances
- Le nom de l'employé

Comment savoir si un employé est absent avec Excel ?
C'est le point le plus important de tout le projet. Nous allons construire 2 tests logiques puis les regrouper ensemble.
Le premier test va tester si la date de référence est supérieure ou égale aux dates de débuts
=E2>=A2:A14

Et le second
=E2<=B2:B14

Regroupement des 2 tests logiques
Un test logique retourne VRAI ou FAUX mais également 1 ou 0. Donc nous pouvons regrouper les deux tests en les multipliant l'un avec l'autre
- Il faut nécessairement mettre chacun des tests entre parenthèses
- Le résultat sera nécessairement des 0 quand la date de référence n'est pas pendant une période d'absence et 1 quand il s'agit d'un congé.
=(E2>=A2:A14)*(E2<=B2:B14)

Utiliser la fonction FILTRE
Maintenant, nous allons utiliser la fonction FILTRE. Si vous ne connaissez pas cette fonction, l'article suivant va vous montrer les possibilités proposées par cette fonction.
- Le premier paramètre va uniquement correspondre à la colonne des employés
- Le second paramètre de la fonction FILTRE va reprendre le test que nous venons de construire
=FILTRE(C2:C14;(E2>=A2:A14)*(E2<=B2:B14))

Gérer le message d'erreur
Ensuite, nous allons renseigner le troisième argument de la fonction pour afficher le message "Personne" quand la fonction FILTRE n'a trouvé aucune ligne.
=FILTRE(C2:C14;(E2>=A2:A14)*(E2<=B2:B14);"Personne")
Et on peut voir que pour la date du 23 mai 2023, c'est le mot "Personne" qui s'affiche car personne n'est en vacances.

Utiliser la fonction AUJOURDHUI
Enfin, pour rendre notre tableau parfaitement dynamique, nous allons remplacer la date de référence par la fonction AUJOURDUI().
De cette façon, à chaque nouvelle journée, la fonction AUJOURDUI() va retourner la date du jour. Et donc, sans intervention de votre part, vous saurez qui est en congé au jour le jour.
