関数でやると
最大値は
=max(A:A)
最小値は
=min(A:A)
のようにA列の中での最大値・最小値を出すということを
スクリプトで実現するコードの例です
この例では特定の列にある日付の最大値と最小値を取得します
コード.gs
function get_log(){
var array = get_array();
var max = get_max(array);
var min = get_min(array);
var max_date = format_date(max);
var min_date = format_date(min);
Logger.log([max_date, min_date]);
}
function get_array() {
var sh = SpreadsheetApp.getActiveSheet();
var last_row = sh.getLastRow();
var range = sh.getRange("A2:A" + last_row)
var values = range.getValues();
var array = [];
for(var i = 0; i < values.length; i++){
array.push(values[i][0]);
}
return array;
}
function get_max(array) {
array.sort(sorting);
var max = array[array.length-1];
return max;
}
function get_min(array) {
array.sort(sorting);
var min = array[0];
return min;
}
function sorting(a, b){
return a - b;
}
function format_date(date){
return Utilities.formatDate(new Date(date), "Asia/Tokyo", "yyyy/MM/dd HH:mm:ss")
}
|
意訳この機能がやること get_array()からarrayを取得して get_max(array)に渡してmaxを取得して get_min(array)に渡してminを取得して max_dateをフォーマットして min_dateをフォーマットして ログに出す この機能がやること すくレッドシートを取得して データが入っている最終行を取得して 範囲を指定して 値を取得して arrayという空の配列を作って 値の数だけ以下を繰り返す array配列に1つずつ値を追加する 出来上がったarrayを返す この機能がやること 渡されたarrayの要素をsortingで昇順にソートして 配列の末尾(最大値)を取得して 返す この機能がやること 渡されたarrayの要素をsortingで昇順にソートして 配列の先頭(最小値)を取得して 返す この機能がやること 配列内の数値の大小を引き算した結果を返す(正の数か負の数かで配列の順番をソートする) この機能がやること 渡されたdateを指定したタイムゾーンと形式でフォーマットして返す |
関連記事
JavaScriptで配列内の最大値・最小値を取得したい