🔎 Maîtrisez la fonction QUERY dans Google Sheets : Filtrage et Tri comme un Pro !

 

🔎 Maîtrisez la fonction QUERY dans Google Sheets : Filtrage et Tri comme un Pro !

La fonction QUERY() dans Google Sheets est sans doute l’une des plus puissantes et sous-estimées. Elle permet d’extraire, filtrer, trier, regrouper ou même transformer vos données à l’aide d’un langage similaire à SQL. Que vous soyez un débutant curieux ou un utilisateur avancé, QUERY() vous fera gagner du temps et vous évitera de créer des dizaines de colonnes intermédiaires !


🔧 Pourquoi utiliser QUERY plutôt que FILTER, SORT ou RECHERCHEV ?

FonctionCe qu’elle faitLimites
FILTER()Filtre selon une ou plusieurs conditionsPas de tri, conditions simples
SORT()Trie un tableauPas de filtre
RECHERCHEV()Recherche une valeur dans une colonneNe retourne qu’un seul résultat
QUERY()Combine filtrage + tri + sélection de colonnes + conditions complexesNécessite de comprendre la syntaxe

📘 Syntaxe de base

excel

=QUERY(plage; "requête SQL"; entêtes)
  • plage : la plage de données à interroger (par exemple : A1:G100)

  • requête SQL : entre guillemets, c’est ici que vous écrivez vos conditions, tris, etc.

  • entêtes : optionnel, indique combien de lignes en haut contiennent les titres (souvent 1)


🎯 Exemple pratique : Filtrer et trier des congés

Imaginons une feuille de congés avec les colonnes suivantes :
Nom | Date Début | Date Fin | Durée | Type | Statut | Remarque

✅ Objectif :

Afficher uniquement les congés validés, triés d’abord par Nom, puis par Date Début.

excel

=QUERY('Congés'!A:G; "select * where F = 'Validé' order by A asc, B asc"; 1)

📌 Explication :

  • select * : affiche toutes les colonnes

  • where F = 'Validé' : filtre la colonne F pour ne garder que les lignes avec "Validé"

  • order by A asc, B asc : trie par nom (colonne A) puis par date de début (colonne B)


🧠 Autres exemples utiles

▶️ Afficher uniquement les congés de plus de 5 jours :

excel

=QUERY('Congés'!A:G; "select * where D > 5"; 1)

▶️ Afficher seulement les colonnes Nom, Date Début et Durée :

excel

=QUERY('Congés'!A:G; "select A, B, D where F = 'Validé' order by B desc"; 1)

💡 Astuces pratiques

  • Utilisez is not null pour ignorer les lignes vides :

    excel

    where A is not null
  • Utilisez label pour renommer vos colonnes dans l'affichage :

    excel

    select A, D label D 'Durée en jours'
  • Combinez avec IMPORTRANGE() pour interroger des données d’une autre feuille :

    excel

    =QUERY(IMPORTRANGE("URL"; "Feuille1!A:G"); "select Col1, Col3 where Col2='NAJIA'"; 1)

🎁 Conclusion

QUERY() transforme vos feuilles de calcul en base de données interactive. En maîtrisant son langage, vous pouvez :

  • Filtrer dynamiquement des tableaux

  • Trier selon plusieurs critères

  • N'afficher que les colonnes utiles

  • Construire des tableaux de suivi puissants sans formules complexes


🖊️ À vous de jouer !

Essayez de remplacer vos FILTER, SORT ou tableaux croisés par QUERY dans vos feuilles Google. Vous verrez la différence en lisibilité et en efficacité.


Ajouter des alias comme Col1, Col2… dans une fonction QUERY()

🔧 Syntaxe améliorée

excel

=QUERY(plage; "select Col1, Col3 where Col2 = 'Validé' order by Col1"; 1)
  • Col1, Col2… sont des alias de colonnes : la première colonne de la plage est toujours Col1, la deuxième Col2, etc.

  • Très pratique quand :

    • votre plage n’a pas d’en-tête,

    • vous utilisez IMPORTRANGE,

    • vous déplacez votre tableau et ne voulez pas modifier les noms.


✅ Exemple complet avec alias

Affichons les congés validés triés par nom (colonne 1) et par date de début (colonne 2) :

excel

=QUERY('Simulateur Congés Mois 7 & 8'!P:W; "select Col1, Col2, Col4 where Col6 = 'Validé' order by Col1, Col2"; 1)

Explication :

  • Col1 = Nom

  • Col2 = Date de début

  • Col4 = Durée

  • Col6 = Statut


💡 Pourquoi utiliser Col1, Col2, etc. ?

Sans aliasAvec alias (Col1, Col2, etc.)
select A, B where F...select Col1, Col2 where Col6...
Peu clair en cas de déplacementReste correct même si vous déplacez les colonnes
Moins lisible avec IMPORTRANGE()Recommandé avec IMPORTRANGE()

🛠️ Astuce bonus : combinaison avec IMPORTRANGE()

excel

=QUERY(IMPORTRANGE("lien"; "Feuille1!A1:G"); "select Col1, Col3 where Col2='NAJIA'"; 1)

🎯 En résumé

✅ Utilisez QUERY() pour :

  • Extraire dynamiquement des données,

  • Appliquer plusieurs conditions de filtre,

  • Trier selon plusieurs colonnes,

  • Ne sélectionner que les colonnes utiles,

  • Et utiliser Col1, Col2... pour garder la formule robuste.

Commentaires

Posts les plus consultés de ce blog

🛠 Utilisation de CustomUIEditor pour Personnaliser le Ruban Excel

🗓️ Simulateur de Congés et Calendrier Collaboratif sous Google Sheets

Explication VBA : Facturation automatique Gestion client