Anda dapat menggunakan yang sort()
fungsi untuk itu, tetapi Anda harus memiliki data Anda di satu tempat, dan salinan secara otomatis diurutkan dari data yang di tempat lain.
Misalnya, saya punya Sheet1 dengan data saya:
| A | B | C
=====================
1 | This | this | 2
2 | Is | is | 1
3 | Test | test | 3
Kemudian di Sheet2, sel A1, saya akan meletakkan fungsi ini:
= sort (Sheet1! A: C, 3, TRUE)
Ini akan menunjukkan data saya, tetapi diurutkan berdasarkan kolom C (kolom ketiga), naik.
| A | B | C
=====================
1 | Is | is | 1
2 | This | this | 2
3 | Test | test | 3
;
misalnya= sort(Sheet1!A:C; 3; TRUE)
Dimungkinkan juga untuk menggunakan Google Apps Script untuk mencapai penyortiran data otomatis di tempat.
Ini mungkin lebih sulit untuk dicapai dan lebih rentan kesalahan (saya masih akan mencari solusi William Jackson, +1 BTW), tapi saya pikir itu cukup menarik untuk ditampilkan.
Saya memiliki lembar yang terlihat seperti ini:
Saya menambahkan skrip baru, menggunakan langkah-langkah ini:
di jendela kode kosong yang muncul, rekatkan kode berikut, yang akan dijalankan secara otomatis setiap kali sel diedit:
kembali ke sheet dan mulai bermain-main dengan nilai-nilai untuk melihat tabel secara otomatis setiap kali
catatan:
Dalam skrip di atas,
4
mewakili indeks kolom D (Value
kolom - pada yang akan diurutkan)"B3:E9"
mewakili rentang tabel (tidak termasuk baris tajuk)Tabel Anda kemungkinan besar akan berbeda dari milik saya, sehingga nilai-nilai ini harus disesuaikan.
sumber
null
untukevent
parameter, yang jika tidak diisi dengan benar oleh infrastruktur Google Spreadsheet saat peristiwa nyata dipicu.range.sort
baris seperti ini:range.sort( { column : columnToSortBy, ascending: false } );
. Untuk opsi penyortiran lainnya, lihat developers.google.com/apps-script/class_range#sortBerikut ini skrip generik yang akan autosort berdasarkan kolom 1, dan mengasumsikan baris Header.
Untuk membuat skrip:
Di jendela kode kosong, tempel kode berikut, yang akan berjalan secara otomatis setiap kali sel diedit:
sumber
var sheet = SpreadsheetApp.getActiveSpreadsheet();
bukannya apa yang ada di sini.Opsi lain tanpa skrip adalah:
Rentang dibatasi (A1: C3) karena di mana urutan naik entri kosong akan muncul terlebih dahulu.
sumber
SELECT * WHERE C <> '' ORDER BY C
untuk mengabaikan entri kosong, maka Anda dapat menggunakan rentang yang cukup besar untuk memasukkan semua baris saat ini dan di masa depan.Menggunakan solusi skrip, tetapi urutkan lebih dari satu kolom
Saya ingin mengurutkan berdasarkan kolom menu dropdown dan kemudian berdasarkan tanggal.
Untuk melakukannya, ubah baris "range.sort" dari cuplikan kode Cristian atau geekspotz seperti:
Perbedaannya adalah menambahkan tanda kurung lurus di sekitar seluruh pernyataan (array) Anda dan memisahkan jenis dengan koma.
Modifikasi kode penyortiran diambil dari Serge's Stack Overflow, jawab di sini : Penyortiran Otomatis Pada Lembar
sumber
Google Sheets memiliki Filter untuk alasan ini dan tidak mengharuskan Anda membuat lembar baru di dokumen Anda.
Dokumentasi: https://support.google.com/docs/answer/3540681
sumber