Foglio di calcolo di Google Ordina due colonne


9

Quindi ho trovato la seguente risposta per quanto riguarda l'ordinamento automatico per una colonna, che funziona alla grande Come posso fare alcuni dati su un ordinamento automatico di fogli di calcolo di Google?

Tuttavia, il mio caso d'uso richiede l'ordinamento di due colonne. Una colonna è numeri interi, mentre la seconda colonna sono le date. Vorrei prima ordinare la colonna dei numeri interi, quindi all'interno di ogni numero ordinare la data.

Eventuali suggerimenti?

Risposte:


9

A partire dalla seguente riga di codice:

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

L'ordinamento può essere eseguito in diversi modi:

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

Entrambi i modi sono identici poiché il tipo di ordinamento è in ordine crescente, ma la seconda opzione consente un diverso ordinamento quando TRUEviene modificato FALSE.

Vedi riferimento: range.sort


1
Grazie per la risposta rapida. La tua risposta ha senso per me. Ho implementato la conoscenza con successo.
Viet

OK, nuovo a questa roba ... dove inserisco esattamente il codice sopra?

@robb vedi il riferimento che utilizza l'OP, che porterà a una risposta che ho dato con una spiegazione.
Jacob Jan Tuinstra,

2

Un po 'tardi alla festa, ma questo è quello che ho fatto.

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 }] );
    }
  }
}

Ordina per colonna 16 prima che per me sono i paesi e poi per un punteggio nella colonna 2 decrescente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.