1

並べ替えの質問があります。テーブルには、並べ替える必要がある 2 つの列があります (プライマリ = 列 1、セカンダリ = 列 4)。以下のスクリプトを使用していますが、列 1 で並べ替えるには機能し、列 1だけではなく列 1 にも変更を加えた場合、列 4 を並べ替えるには機能します。値 JUST 列 4 の値を編集して、2 番目の並べ替えを実行できるようにしたいと考えています。

例: 列 1: 日付、列 2: 姓、列 3: 生年月日、列 4: 支払い スプレッドシートを日付順 (昇順、値の繰り返しを許可) に維持したいのですが、2 番目に支払い額 (昇順) で整理したいと考えています。そうすれば、支払い額の高いものから低いものへの順序を日付別に見ることができます。セル内の支払いデータだけを変更する場合は、列 1 (日付)、次に列 4 (支払い) で並べ替えたいと思います。このスクリプトは、その最後のビットを達成していません。何かアドバイス?

/**
 * Automatically sorts the 1st column (not the header row) Ascending.
 */
function onEdit(event){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var editedCell = sheet.getActiveCell();

  var columnToSortBy = 1;
  var tableRange = "A2:T99"; // What to sort.

  if(editedCell.getColumn() == columnToSortBy){   
    var range = sheet.getRange(tableRange);
    range.sort( [1, 4] ); // or
    range.sort( [{ column: 1, ascending: true }, 4] ); // or
    range.sort( [{ column: 1, ascending: true }, { column: 4, ascending: true }] );
  }
}
4

1 に答える 1