
Formule générique
=SUMPRODUCT((start_date=start_dates))>1
Sommaire
Pour mettre en évidence les cellules où les dates se chevauchent, vous pouvez utiliser la mise en forme conditionnelle avec une formule basée sur la fonction SOMMEPROD. Dans l'exemple illustré, la formule dans le sud E6 est:
=SUMPRODUCT(($C6=$C$5:$C$9))>1
Il s'agit de la même formule utilisée pour mettre en évidence des lignes entières dans le tableau à l'aide d'une règle de mise en forme conditionnelle basée sur une formule.
Explication
Considérez un instant comment fonctionnent les dates qui se chevauchent. Pour qu'un projet chevauche les dates d'autres projets, deux conditions doivent être remplies:
1. La date de début doit être inférieure ou égale (<=) à au moins une autre date de fin et la liste.
2. La date de fin du projet doit être supérieure ou égale à (> =) au moins une autre date de début de la liste.
Si ces deux conditions sont remplies, les dates du projet doivent chevaucher un autre projet de cette liste.
La fonction SUMPRODUCT est parfaite pour ce type de test car elle gère les comparaisons de tableaux avec élégance.
Pour vérifier la date de début d'un projet contre toutes les dates de fin, nous utilisons cette expression:
($C6<=$D$5:$D$9)
Pour vérifier la date de fin d'un projet contre toutes les dates de fin, nous utilisons cette expression:
($D6>=$C$5:$C$9)
Les tableaux résultants de valeurs TRUE FALSE sont multipliés les uns par les autres dans SUMPRODUCT. Cela contraint automatiquement les résultats VRAI et FAUX à 1 et 0, donc la formule est résolue comme ceci:
=SUMPRODUCT((0;1;1;1;1)*(1;1;1;0;0))>1 =SUMPRODUCT((0;1;1;0;0))>1 =TRUE