Google Spreadsheet Mengurutkan Dua Kolom

9

Jadi saya telah menemukan jawaban berikut mengenai penyortiran otomatis oleh satu kolom, yang berfungsi dengan baik. Bagaimana saya bisa membuat beberapa data pada penyortiran otomatis Google Spreadsheet?

Namun, kasus penggunaan saya memerlukan pengurutan dua kolom. Satu kolom adalah bilangan bulat, sedangkan kolom kedua adalah tanggal. Saya ingin mengurutkan seluruh kolom angka terlebih dahulu, lalu di dalam setiap angka urut tanggal.

Ada saran?

Viet
sumber

Jawaban:

9

Dimulai dengan baris kode berikut:

var range = sheet.getRange("A1:B10");

Penyortiran dapat dilakukan dengan berbagai cara:

  1. range.sort([1,2]);
  2. range.sort([{column: 1, ascending: true}, {column: 2, ascending: true}]);

Kedua cara identik karena jenis pengurutan adalah dengan naik secara default, tetapi opsi kedua memungkinkan untuk urutan pengurutan yang berbeda saat TRUEdiubah menjadi FALSE.

Lihat referensi: range.sort

Jacob Jan Tuinstra
sumber
1
Terima kasih atas tanggapan cepatnya. Jawaban Anda masuk akal bagi saya. Saya sudah menerapkan pengetahuan dengan sukses.
Viet
OK, baru dalam hal ini ... di mana tepatnya saya memasukkan kode di atas?
@robb lihat referensi penggunaan OP, yang akan mengarah ke jawaban yang saya berikan dengan penjelasan.
Jacob Jan Tuinstra
2

Agak terlambat ke pesta tapi ini yang saya lakukan.

function onEdit(event){
  var sheet = event.source.getActiveSheet();
  if(sheet.getName()=='Sort by country full'){
    var editedCell = sheet.getActiveCell();
    var columnToSortBy = 16;
    var columnToSortBy2 = 2;
    var tableRange = "A2:AU1451";
    if(editedCell.getColumn() == columnToSortBy){   
      var range = sheet.getRange(tableRange);
      range.sort( [{ column : columnToSortBy },{column: columnToSortBy2,ascending: false }] );
    }
  }
}

Urutkan berdasarkan kolom 16 pertama yang bagi saya adalah negara dan kemudian dengan penilaian skor di kolom 2 menurun.

pengguna128415
sumber