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.
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)
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")
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.