Johna doit déterminer si une date particulière se situe entre deux autres dates. Par exemple, elle devra peut-être déterminer si le 8 novembre 2018 se situe entre le 1er août 2018 et le 31 juillet 2019. Elle essaie de trouver la formule qui fera cette détermination.

Il existe en fait un large éventail de formules que vous pouvez utiliser, allant du court au très long. Dans cette astuce, cependant, je vais me concentrer sur les approches de formule plus courtes. Avant de faire cela, il est bon de se rappeler que les dates (et les heures) sont stockées en interne par Excel sous forme de nombres. La partie de la date avant la virgule décimale (la partie entière du nombre) est le numéro de série de la date et la partie à droite de la décimale est l’heure.

Étant donné que les dates et les heures sont stockées sous forme de nombres, il devient relativement facile de comparer simplement les nombres pour déterminer lequel est le plus élevé ou le plus bas et si quelque chose se situe entre le haut et le bas. Par exemple, supposons que vous ayez votre date de début (1er août 2018) dans la cellule A1 et votre date de fin (31 juillet 2019) dans la cellule A2. Vous pouvez placer la date d’enregistrement dans la cellule D1 et utiliser la formule suivante:

=IF(AND(D1>=A1,D1<=A2),"Yes","No")

La formule vérifie si la date dans D1 est à la fois supérieure ou égale à A1 et inférieure ou égale à A2. « Oui » n’est renvoyé que si ces deux conditions sont remplies, sinon « Non » est renvoyé. (Voir la figure 1.)

image

Figure 1. Comparaison des nombres pour déterminer lequel est le plus élevé ou le plus bas et entre le haut et le bas.

Si vous pensez que les dates incluent des heures, alors vous voudrez peut-être ajuster pour cela en supprimant la partie du numéro de série qui représente l’heure:

=IF(AND(TRUNC(D1,0)>=TRUNC(A1,0),TRUNC(D1,0)<=TRUNC(A2,0)),"Yes","No")

Si vous comparez réellement des chaînes de texte et des dates Excel non reconnues, vous devrez utiliser la fonction DATEVALUE pour convertir les chaînes en dates:

=IF(AND(DATEVALUE(D1)>=DATEVALUE(A1),DATEVALUE(D1)<=DATEVALUE(A2)),"Yes","No")

Le résultat de l’utilisation de la fonction DATEVALUE serait similaire à la figure suivante: (voir la figure 2.)

image

Figure 2. Comparaison de chaînes de texte à l’aide de la fonction DATEVALUE pour convertir des chaînes en dates.

Chacune des formules, jusqu’à présent, a été la même formule de base; la seule différence entre eux est l’ajout de fonctions supplémentaires pour compenser les caractéristiques de stockage des dates dans les cellules. Pour une manière totalement différente de déterminer si une date est comprise entre deux autres dates, vous pouvez utiliser la formule suivante:

=IF(D1=MEDIAN(D1,A1,A2),"Yes","No")

Étant donné que la fonction MEDIAN est calculée à l’aide de trois nombres, elle renvoie toujours le nombre compris entre le nombre inférieur et le nombre supérieur. Cela signifie que si D1 est vraiment entre les deux autres, il sera toujours retourné; si D1 n’est pas entre les deux autres, alors l’un des autres sera retourné.

Fait intéressant, si vous réorganisez un peu vos données pour que les trois valeurs soient adjacentes (par exemple, en déplaçant la date de comparaison de D1 à A3), vous pouvez alors remplacer les trois références de cellules séparées par une plage des trois cellules , rendant la formule encore plus courte:

=IF(A3=MEDIAN(A1:A3),"Yes","No")

L’avantage d’utiliser l’approche MEDIAN pour l’approche AND est que vous n’avez pas à vous soucier de laquelle des valeurs de plage (A1 ou A2) est la date de début ou de fin de la comparaison – la fonction MEDIAN trie tout. (Voir la figure 3.)

image

Figure 3. Comparaison des valeurs à l’aide de la fonction MEDIAN.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (12742) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.