Fonction DATEVALUE dans Google Sheets : Astuces avancées et conseils

La fonction DATEVALUE dans Google Sheets a pour objectif de convertir une chaîne de caractères représentant une date en une valeur de date. Cependant, elle peut également être utilisée à d’autres fins importantes :

  • Remplacer la formule « ISDATE » ou la combinaison alternative « MAP + ISDATE ».
  • Simplifier l’utilisation des conditions de date dans la fonction QUERY.

La valeur de date est un nombre qui représente la date en termes de jours depuis le 31 décembre 1899. Ainsi, la fonction DATEVALUE renverra le numéro de série 1 pour la chaîne de caractères de date « 1899-12-31 », 2 pour « 1900-01-01 », et ainsi de suite.

Syntaxe de la fonction DATEVALUE dans Google Sheets

La syntaxe de la fonction DATEVALUE dans Google Sheets est la suivante :

DATEVALUE(date_string)

Où date_string est une chaîne de caractères texte représentant une date. Elle doit être placée entre guillemets doubles si vous la saisissez en dur.

Exemple :

=DATEVALUE("05/09/23")

La chaîne de caractères de date peut être dans n’importe quel format que Google Sheets peut reconnaître. Voici quelques formats de chaînes de caractères de date reconnaissables :

  • 05/09/23
  • Mar, 05 09 23
  • Mar, 5 Sep 2023
  • 2023-09-05
  • 5 Sep 2023
  • 5-Sep-2023
  • 05/09
  • Mardi 5 septembre 2023
  • Mardi 5 septembre 2023, 10:10:30
  • 13:25

Lors du calcul de la valeur de date, le mois et le jour seront déterminés en fonction du paramètre « Locale » de vos feuilles, qui est soit MM/DM/YYY, soit DD/MM/YYY. Vous pouvez trouver le formatage de la date et de l’heure correspondant à votre paramètre « Locale » en appliquant la fonction AUJOURD’HUI() dans la cellule A1 ou dans n’importe quelle cellule vide d’une nouvelle feuille.

Par exemple, la chaîne de caractères de date « 05/09/2023 » peut être interprétée soit comme le 9 mai 2023, soit comme le 5 septembre 2023, en fonction du paramètre « Locale » de la feuille de calcul Google Sheets. Les valeurs de date varieront en conséquence.

Il y a une exception à cela. Si la chaîne de caractères de date contient du texte de mois, comme « 5 Sep 2023 », vous ne rencontrerez aucun problème avec le formatage de la date dans vos feuilles.

Exemples

Dans l’exemple suivant, j’ai utilisé la fonction DATEVALUE dans Google Sheets pour convertir des chaînes de caractères de date dans la plage de cellules A3:A11 en valeurs de date.

J’ai utilisé la formule non matricielle suivante dans la cellule B3 pour convertir la chaîne de caractères de date dans la cellule A3 en une valeur de date.

=DATEVALUE(A3)

La formule est copiée et collée vers le bas pour l’appliquer aux lignes suivantes.

Exemples de formules de la fonction DATEVALUE dans Google Sheets.

Cependant, lorsque vous souhaitez convertir un ensemble de chaînes de caractères de date en une seule fois, vous pouvez utiliser une formule matricielle dans la ligne supérieure de la plage. Dans l’exemple ci-dessus, nous pouvons utiliser la combinaison de DATEVALUE + ARRAYFORMULA suivante dans la cellule B3 si B3:B11 est vide.

=ARRAYFORMULA(DATEVALUE(A3:A11))

Comment convertir DATEVALUE en date dans Google Sheets

Il existe deux façons de convertir un numéro de série de date en une date dans Google Sheets.

La première méthode consiste à utiliser la fonction TO_DATE avec DATEVALUE.

Syntaxe de la fonction TO_DATE dans Google Sheets :

TO_DATE(valeur)

Par exemple, la formule suivante renverrait le numéro de série 45174 :

=DATEVALUE("Mar, 5 Sep 2023")

Pour convertir cela en une date, utilisez TO_DATE avec DATEVALUE de la manière suivante :

=TO_DATE(DATEVALUE("Mar, 5 Sep 2023"))

La deuxième option consiste à utiliser le formatage cellulaire Format > Nombre > Format de date dans la cellule contenant le numéro de série de la date.

Lorsque vous utilisez la fonction TO_DATE avec une plage de cellules, vous devez l’encadrer avec la fonction ARRAYFORMULA de la manière suivante :

=ARRAYFORMULA(TO_DATE(DATEVALUE(A3:A11)))

Autres utilisations de la fonction DATEVALUE dans Google Sheets

J’ai mentionné les deux autres utilisations importantes de la fonction DATEVALUE dans Google Sheets plus tôt dans ce tutoriel. Cela est exclusivement destiné aux utilisateurs de Google Sheets. Cela peut ne pas fonctionner dans Excel.

1. Remplacer ISDATE et MAP par DATEVALUE dans Google Sheets

La fonction ISDATE renvoie VRAI ou FAUX en évaluant une valeur dans une cellule. Si la valeur est une date, une heure ou un horodatage, le résultat sera VRAI. Sinon, le résultat sera FAUX.

Syntaxe de la fonction ISDATE dans Google Sheets :

ISDATE(valeur)

Dans l’exemple ci-dessus, vous pouvez voir plusieurs formules ISDATE dans la colonne D. Vous ne pouvez pas utiliser ISDATE avec ARRAYFORMULA.

Cela est dû au fait que ISDATE est une fonction matricielle en elle-même. Elle prendra une plage et renverra un résultat unique. Autrement dit, si vous appliquez cette fonction dans une plage, elle renverra VRAI si toutes les valeurs de la plage sont des dates, sinon FAUX.

=ISDATE(A3:A9)

Ainsi, pour développer une formule ISDATE, nous pouvons utiliser la fonction MAP de la manière suivante :

=MAP(A3:A9,LAMBDA(r, ISDATE(r)))

Il existe une autre formule alternative utilisant la fonction DATEVALUE dans Google Sheets qui peut même faire la distinction entre les dates et les heures.

Nous pouvons remplacer la combinaison ISDATE + MAP ci-dessus par la formule DATEVALUE suivante dans Google Sheets :

=ARRAYFORMULA(IFERROR(DATEVALUE(A3:A9),-1)>=0)

Si vous souhaitez que la formule renvoie FAUX pour une cellule contenant uniquement une composante de temps (pas une date complète), utilisez la formule suivante :

=ARRAYFORMULA(IFERROR(DATEVALUE(A3:A9),-1)>0)

La dernière formule renverra VRAI dans les cellules C3 et C9 seulement. Toutes les autres valeurs seront FAUSSES.

Important :

Il existe une différence importante entre les fonctions ISDATE et DATEVALUE que vous devez connaître.

La fonction ISDATE renverra VRAI si la valeur de la cellule est un nombre ou un texte, mais que la valeur sous-jacente est une date (la valeur que vous voyez dans la barre de formule). Ainsi, si une date est formatée comme ‘Dimanche’, ISDATE renverra VRAI, tandis que DATEVALUE renverra une erreur.

2. Simplification de la condition de date dans QUERY avec DATEVALUE

Si vous êtes familier avec la fonction QUERY, vous savez peut-être à quel point il peut être difficile de se souvenir des différentes littéraux pouvant être utilisés pour les comparaisons ou les affectations, en particulier pour les littéraux de date.

Imaginez que vous ayez une feuille de dépenses avec des dates dans A2:A, des types de dépenses dans B2:B et des noms de bénéficiaires dans C2:C.

Pour filtrer le tableau en fonction des dates de début et de fin spécifiées dans les cellules E2 et E3, vous pouvez utiliser la formule QUERY suivante :

=QUERY({A2:C},"Select * where Col1 > date '"&TEXT(E2,"yyyy-mm-dd")&"' and Col1 < date '"&TEXT(E3,"yyyy-mm-dd")&"'")

Si vous avez du mal à vous souvenir du littéral de date dans QUERY, vous pouvez utiliser la formule suivante :

=ARRAYFORMULA(QUERY(HSTACK(DATEVALUE(A2:A),B2:C),"Select * where Col1>"&E2&" and Col1<"&E3&""))

Dans cette formule, j’ai utilisé la fonction DATEVALUE pour convertir les dates dans A2:A en valeurs de date. Cela signifie que même si les critères des cellules E2 et E3 sont des dates, nous pouvons les utiliser comme littéraux de nombre dans QUERY.

Il sera encore plus simple si vous sélectionnez A2:A et appliquez le formatage cellulaire Format > Nombre > Format de date. La formule sera alors :

=QUERY(A2:C,"Select * where Col1>"&E2&" and Col1<"&E3&"")

Conclusion

Nous avons vu l’utilisation de la fonction DATEVALUE dans Google Sheets. J’ai également partagé quelques astuces utiles.

Avant de conclure, j’aimerais ajouter une dernière chose.

Certaines formules Google Sheets convertiront automatiquement les dates en valeurs de date. Par exemple, la fonction SEQUENCE.

La formule SEQUENCE suivante renverra 31 valeurs de date à partir de la valeur de date correspondant à « 2023-1-1 » :

=SEQUENCE(31,1,"2023-1-1")

Vous pouvez utiliser TO_DATE avec cette formule pour obtenir des dates correctes.

=ARRAYFORMULA(TO_DATE(SEQUENCE(31,1,"2023-1-1")))

En résumé, DATEVALUE n’est pas la seule fonction qui renvoie des valeurs de date dans Google Sheets. Cependant, c’est la seule fonction qui convertit une chaîne de caractères de date en une valeur de date.

Pour plus d’informations sur Google Sheets et d’autres astuces, rendez-vous sur Crawlan.com.

Amusez-vous bien avec vos formules dans Google Sheets !

Article rédigé par bolamarketing.com, votre destination pour les meilleures astuces en marketing et en outils numériques !

Articles en lien