最近、GAS(GoogleAppsScript)を使った開発をおこなった時に、以下の条件でセルを並び替えることがあった。
- 第1条件: 都道府県コード(昇順)
- 第2条件: 日付(降順)
まず都道府県順にソートをおこない、同じ都道府県だった場合は日付順にソートするといった仕様だ。
このような複数条件のソートをGASで実行するコードを紹介する。
1 2 3 4 5 6 7 | 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つ以上の条件でのソートを一度に実行することができる。