Google Doc Spreadsheets – Requêter une table

Aujourd’hui nous allons parler un petit peu de Google Doc Spreadsheets et des possibilités qu’il donne.

Il est possible de faire une base de donnée en google doc spreadsheet… « Hein que quoi ?! on m’aurait caché des choses ? »

Yep yep, et c’est super simple. Bien entendu nous parlons d’une base de donnée locale utilisable uniquement dans notre document, nous ne pourrons pas la requêter facilement de l’extérieur.

Cette fonction est super utile pour gérer des plannings et connaitre approximativement le coût final sachant que chaque tâche peut être un type de travail différent.

Pratique

Tout d’abord nous allons nous créer une feuille de tableur toute simple récapitulant nos différents prix (faux les prix :P ) :

Feuille Tarifs

Feuille Tarifs

Puis maintenant notre planning de base, trois colonne Nom de la tache, Type de la tache correspondant à la référence dans la page Tarif, et la durée horaire de chaque tâche :

Planning étape 1

Planning étape 1

A présent comme vous l’aurez deviné le but du jeu est de faire remplir la 4e colonne avec les bons montants en utilisant la feuille Tarifs.

Pour cela nous allons utiliser la fonction QUERY(). Le premier paramètre est la plage de donnée que nous voulons requêter, c’est donc ici la plage A:C (les collonnes A à C) de la page Tarifs, donc la plage : Tarifs!A2:C10 par exemple, mais il faut rajouter nos $ pour ne pas modifier ces valeurs lorsque nous allons répliquer la formule : Tarifs!$A$2:$C$10

Le deuxième paramètre est notre requête, ici nous voulons récupérer le tarif horaire correspondant à la référence dans la colonne B de notre feuille Planning. Notre requête pour la tâche 1 va donc être :

SELECT B WHERE A=B2

Et oui mais petit problème, on mixe deux pages là, on veut bien récupérer le contenu de la colonne Tarifs!B lorsque Tarifs!A=Planning!B2, mais comment google spreadsheets saura que B2 fait partie de la feuille planning ???

Il nous suffit de concaténer :

CONCATENATE("SELECT B WHERE A='",B2,"'")

Notre requête finale sera donc :

=QUERY(Tarifs!$A$2:$C$10,CONCATENATE("SELECT B WHERE A='",B2,"'"))*C2

Vous remarquez le petit *C2 pour prendre en compte le nombre d’heures.

Maintenant appliquons la requête dans une cellule et dupliquons là dans les autres et cela nous donne :

Feuille planning - Etape 2

Feuille planning - Etape 2

Conclusion

Vous avez maintenant appris à requêter en google spreadsheets, les possibilités sont impressionnantes et seulement une d’entre elle est survolée par cet article. J’avais cependant envie de vous la faire découvrir étant donné le gain de temps apporté.

Si vous voulez plus d’infos, je vous invite à consulter la page de google concernant ce langage de requêtage : http://code.google.com/intl/fr/apis/visualization/documentation/querylanguage.html

A bientôt !

Share and Enjoy:
  • Google Bookmarks
  • Facebook
  • del.icio.us
  • Digg
  • Live

4 Responses to “Google Doc Spreadsheets – Requêter une table”

Leave a Reply