セルの範囲を並べ替える
今回は、Rangeクラスの中にあるセルの範囲を並べ替えるsortメソッドの紹介をします。
次のサンプルに書式の設定をしていきましょう!
サンプル

1つの列を基準に並べ替える
セルの範囲を1つの列の基準で並べ替えるには次の構文を使います。
構文
Rangeオブジェクト.sort(列番号)
function test(){
// セルの範囲を取得する
var range = SpreadsheetApp.getActiveSheet().getRange("A2:C7")
// 得点列を基準に並べ替える
range.sort(3)
}
セル範囲は、見出しを抜いた「A2:C7」
得点列は、指定した範囲の3番目なので、引数には3を指定しています。
実行すると次のように並べ替わります。

※この場合、並べ替えは昇順になるので注意してください。
2つ以上の基準や降順で並べ替える
構文
Rangeオブジェクト.sort([
{column: 列番号, ascending: true/false },
{column: 列番号, ascending: true/false },
])
ascendingプロパティはtrueが昇順、falseが降順です。
それでは、C列を降順、B列を昇順で並べ替えてみましょう。
function test(){
// セルの範囲を取得する
var range = SpreadsheetApp.getActiveSheet().getRange("A2:C7")
// 得点列を基準に並べ替える
range.sort([
{column:2, ascending:true},
{column:3, ascending:false}
])
}
ちなみに、並べ替えの優先順位は、先に書いたほうが優先になります。
実行すると次の図のように、並べ替わります。

まとめ
セルの範囲を並べ替えるsortメソッドを紹介しました!
コメント