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()
メソッドを利用しましょう。