Comment utiliser DateTime dans la requête dans Google Sheets

Vous connaissez probablement déjà les fonctions personnalisées onEdit et NOW() pour insérer des horodatages dans Google Sheets. Mais saviez-vous que vous pouvez également utiliser DateTime dans une requête pour filtrer, regrouper et formater une colonne d’horodatages ? Dans cet article, nous allons explorer comment utiliser DateTime dans la clause WHERE, la clause GROUP BY et la clause FORMAT de Query dans Google Sheets.

Utilisation de DateTime dans la clause WHERE

Avant de plonger dans l’utilisation de DateTime dans la clause WHERE de Query, il est important de comprendre les éléments de langue de Query appelés « littéraux ». Les littéraux sont des valeurs utilisées pour les comparaisons et les affectations. Pour les types de données date/heure, il existe trois mots-clés : date, timeofday et datetime ou timestamp.

Par exemple, si vous souhaitez comparer une colonne qui contient une date et une heure, vous pouvez utiliser le mot-clé datetime ou timestamp de la manière suivante :

=QUERY(A1:D, "select A,B,C,D where A >= timestamp '2019-1-11 12:00:00'", 1)

Vous pouvez également utiliser le mot-clé datetime dans la formule :

=QUERY(A1:D, "select A,B,C,D where A >= datetime '2019-1-11 12:00:00'", 1)

Les deux formules donneraient le même résultat, il suffit de choisir celle qui vous convient le mieux.

DateTime in Query in Google Sheets

Utilisation de DateTime comme référence de cellule dans la requête

Maintenant, imaginez que vous avez une valeur de timestamp que vous souhaitez utiliser comme critère dans la clause WHERE de votre requête. Vous pouvez le faire facilement en utilisant la fonction TEXT pour formater la valeur de la cellule en tant qu’horodatage et en l’insérant dans la formule de requête :

=QUERY(A1:D, "select A,B,C,D where A >= datetime '" & TEXT(A1, "yyyy-mm-dd HH:mm:ss") & "'", 1)

N’oubliez pas que vous pouvez également utiliser le mot-clé timestamp à la place de datetime dans la formule.

Formatage de DateTime dans les résultats de la requête

Lorsque vous utilisez la clause FORMAT de Query pour formater une colonne DateTime, cela n’affectera pas la valeur réelle de l’horodatage dans la cellule. Cela vous permet de l’afficher au format de date souhaité tout en conservant la valeur d’origine.

Par exemple, pour afficher la date au format DD-MM-YY dans la colonne A, vous pouvez utiliser la formule suivante :

=QUERY(A1:D, "select A,B,C,D where A >= datetime '" & TEXT(F1, "yyyy-mm-dd HH:mm:ss") & "' format A 'DD-MM-YY'", 1)

Format DateTime in Sheets Query

Comme vous pouvez le voir dans la barre de formule, la valeur affichée dans la colonne F est au format DD-MM-YY, mais la valeur réelle dans les cellules contient également les éléments de temps. Cette formule masque simplement les éléments de temps avec le formatage choisi.

Utilisation de DateTime dans la clause GROUP BY

Enfin, si vous souhaitez regrouper vos données en fonction des horodatages dans une colonne, vous pouvez utiliser la clause GROUP BY de Query. Par exemple, pour regrouper les données en fonction de la colonne A (DateTime) puis de la colonne B (Produit), vous pouvez utiliser la formule suivante :

=QUERY(A1:D, "select A,B, Sum(C) where A is not null group by A,B")

Group DateTime (timestamp) in Query in Sheets

Cependant, si vous souhaitez exclure la valeur de l’heure lors du regroupement des données, vous pouvez utiliser la fonction scalaire toDate à la fois dans les clauses SELECT et WHERE de votre formule :

=QUERY(A1:D, "select todate(A),B, Sum(C) where A is not null group by todate(A),B")

Et voilà ! Vous savez maintenant comment utiliser DateTime dans une requête dans Google Sheets pour filtrer, regrouper et formater vos horodatages. Profitez de cette fonctionnalité pour simplifier vos analyses et organiser vos données de manière plus efficace. Pour plus de conseils et astuces sur Google Sheets, rendez-vous sur Crawlan.com.

Articles en lien