Vous pouvez utiliser la sort()
fonction pour cela, mais vous devez avoir vos données à un endroit et une copie automatiquement triée de ces données à un autre endroit.
Par exemple, disons que j'ai Sheet1 avec mes données:
| A | B | C
=====================
1 | This | this | 2
2 | Is | is | 1
3 | Test | test | 3
Ensuite, dans Sheet2, cellule A1, je mettrais cette fonction:
= trier (Sheet1! A: C, 3, TRUE)
Cela afficherait mes données, mais triées par colonne C (la troisième colonne), par ordre croissant.
| A | B | C
=====================
1 | Is | is | 1
2 | This | this | 2
3 | Test | test | 3
William Jackson
la source
;
exemple,= sort(Sheet1!A:C; 3; TRUE)
Il est également possible d'utiliser les scripts Google Apps pour effectuer un tri automatique sur place des données.
Cela peut être plus difficile à réaliser et plus sujet aux erreurs (je choisirais quand même la solution de William Jackson, +1 BTW), mais j’ai pensé que c’était assez intéressant à montrer.
J'ai une feuille qui ressemble à ceci:
J'ai ajouté un nouveau script, en utilisant ces étapes:
Dans la fenêtre de code vide qui apparaît, collez le code suivant, qui sera exécuté automatiquement chaque fois qu'une cellule est modifiée:
retournez à la feuille et commencez à jouer avec les valeurs pour voir le tableau se trier automatiquement à chaque fois
Remarque:
Dans le script ci-dessus,
4
représente l'index de la colonne D (laValue
colonne - celle qui va être triée)"B3:E9"
représente la plage de la table (à l'exclusion de la ligne d'en-tête)Votre table sera probablement différente de la mienne, ces valeurs doivent donc être ajustées en conséquence.
la source
null
pour leevent
paramètre, lequel est par ailleurs correctement renseigné par l'infrastructure Google Spreadsheet lorsqu'un événement réel est déclenché.range.sort
ligne comme ceci:range.sort( { column : columnToSortBy, ascending: false } );
. Pour plus d'options de tri, voir developers.google.com/apps-script/class_range#sortVoici un script générique qui triera automatiquement en fonction de la 1ère colonne et supposera une ligne d'en-tête.
Pour créer un script:
Dans la fenêtre de code vide, collez le code suivant, qui s'exécutera automatiquement chaque fois qu'une cellule est modifiée:
la source
var sheet = SpreadsheetApp.getActiveSpreadsheet();
au lieu de ce qui est ici.Une autre option sans script est:
La plage est restreinte (A1: C3), car les entrées vierges apparaissent en premier dans l'ordre.
la source
SELECT * WHERE C <> '' ORDER BY C
pour ignorer les entrées vides, vous pouvez alors utiliser une plage suffisamment large pour inclure toutes les lignes actuelles et futures.Utilisation de la solution de script, mais tri sur plusieurs colonnes
Je voulais trier par colonne de menu déroulant puis par date.
Pour ce faire, modifiez la ligne "range.sort" de l'un des fragments de code de Cristian ou de geekspotz, de la manière suivante:
La différence consiste à ajouter les crochets droits autour de votre déclaration entière (tableau) et à séparer les tris par des virgules.
Modification du code de tri extraite de la réponse du débordement de pile de Serge ici : Tri automatique sur des feuilles
la source
Google Sheets a des filtres pour cette raison même et ne vous oblige pas à créer une nouvelle feuille dans votre document.
Documentation: https://support.google.com/docs/answer/3540681
la source