セル範囲を操作する

【GAS】スプレッドシートの行の並びをランダムにする

GASでスプレッドシートの行の並びをランダムにするには「randomize()」を利用する。

randomize()

指定した範囲内の行の順序をランダム化します。

https://developers.google.com/apps-script/reference/spreadsheet/range#randomize

スプレッドシートの行の並びをランダムにするGAS実行の様子

randomize()メソッドを利用して、スプレッドシートの行の並びをランダムにするGASを実行してみました。

randomize()メソッドを実行することで、

  • 任意の行範囲がすべてランダムに並び替えられている

ことがわかります。

スプレッドシートの複数列で重複するデータ行を削除する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートの複数列で重複するデータ行を削除する

スプレッドシートの行の並びをランダムにするGAS

function radom(){
 //SpreadsheetAppを起動
 let ss = SpreadsheetApp.getActiveSpreadsheet();
 //0番目のシートを取得
 let sht = ss.getSheets()[0];
 //繰り返し処理でテキストを設置
 for (var i=1;i<=10;i++){
   const text = [
     [i,"Spredsheet","Blue"]
   ];
   sht.getRange(i,1,1,3).setValues(text);
 }
 //最終行セルを取得
 const lastrw = sht.getLastRow();
 //最終列のセルを取得
 const lastcl = sht.getLastColumn();
 //A1セルを取得
 const startcell = sht.getRange(1,1).getA1Notation();
 //最終行・列のセルをA1形式で取得
 const lastcell = sht.getRange(lastrw,lastcl).getA1Notation();
 //繰り返し処理した範囲をrangeに格納
 const range = sht.getRange(startcell+":"+lastcell);
 //■range範囲の行をrandomizeメソッドでランダムに並び替える
 range
 .activate()
 .randomize();
 //並び替えた旨を掲載
 Browser.msgBox("セル範囲「"+startcell+":"+lastcell+"」の行をランダムに並び変えました")
}

randomize()の戻り値

Protection - 保護設定を表すオブジェクト。

スプレッドシートの行の並びをランダムにするまとめ

GAS×スプレッドシートの行の並びをランダムにするならrandomize()メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートの重複データ行を削除する

関連記事:【GAS】スプレッドシートの最終行を取得する

関連記事:【GAS】スプレッドシートの最大行数を取得する

関連記事:【GAS】スプレッドシートで指定した行を固定する

-セル範囲を操作する