関数でやると
最大値は
=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で配列内の最大値・最小値を取得したい