Google apps scirptでスプレッドシートの列を並び替える

Google apps scirptでスプレッドシートの列を並び替えるには

  • sort(columnPosition, ascending)

を使う。

・sort(columnPosition, ascending)
列ごとにシートをソートします。昇順または降順を指定するパラメータをとります。

パラメーター

タイプ 説明
columnPosition Integer 並べ替える列
ascending Boolean true昇順、false降順

戻る
Sheet – シート、メソッド連鎖に便利

参照:sort(columnPosition, ascending)

Google apps scirptでスプレッドシートの列を並び替えるスクリプト

A1:A10をrngに、A1の列数をcolへ格納。

for文でA1~A10にナンバリング。

sht.sort(1,false);でナンバリングした数を降順に並び替えしたスクリプト。

function sort2()ではsht.sort(1,true);でナンバリングを昇順に戻した。

/*スプレッドシートの値を降順に並び替え*/
function sort1() {

//スプレッドシートAppを呼出し
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブなシートを取得
var sht = ss.getActiveSheet();

//ソートする範囲を取得
var rng = sht.getRange("A1:A10");
//範囲の列を取得してcolへ格納
var col = rng.getColumn();
Logger.log(col);

//A1:A10までナンバリング
for (var i=1;i<=10;i++){

sht.getRange(i,col).setValue(i)//i行のcol列で+1ずつ10回増やす

 }
 
//降順にソートする
sht.sort(1,false);

}

/*スプレッドシートの値を昇順に並び替え*/
function sort2() {

//スプレッドシートAppを呼出し
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブなシートを取得
var sht = ss.getActiveSheet();

//ソートする範囲を取得
var rng = sht.getRange("A1:A10");
//範囲の列を取得してcolへ格納
var col = rng.getColumn();
Logger.log(col);


//A1:A10までナンバリング
for (var i=1;i<=10;i++){

sht.getRange(i,col).setValue(i)//A1から10回+1ずつ増やす

 }
 
//昇順にソートする
sht.sort(1,true);

}

Google apps scirptでスプレッドシートの列を並び替えるsample

 

まとめ

sheet.sort(並び替えしたい列数,昇順(true)か降順(false))で並び替えが出来る。

2列目を昇順に並び替えるなら

  • sheet.sort(2,true)

5列目を降順に並び替えるなら

  • sheet.sort(5,false)

ただしsortする項目を指定・選択出来ないっぽい。

>>スプレッドシートにあるセルの列数を取得する

>>GASでスプレッドシートに連番をふる

>>スプレッドシートの最終列を取得する

>>スプレッドシートの最終行を取得する