最近、GAS(GoogleAppsScript)を使った開発をおこなった時に、以下の条件でセルを並び替えることがあった。
- 第1条件: 都道府県コード(昇順)
- 第2条件: 日付(降順)
まず都道府県順にソートをおこない、同じ都道府県だった場合は日付順にソートするといった仕様だ。
このような複数条件のソートをGASで実行するコードを紹介する。
const lr = sheet.getLastRow();
const lc = sheet.getLastColumn();
sheet.getRange(2, 1, lr-1, lc).sort([
{column: 1, ascending: true},
{column: 2, ascending: false},
]);
sortメソッドの引数には、配列で複数条件を指定することができる。
columnにはキーとなる列番号を、aschendingには昇順の場合trueを、降順の場合falseを指定する。
これで2つ以上の条件でのソートを一度に実行することができる。