以下のようなデータがあるとき
カナの列に「サシスセソ」を入力する
ということをやった時に書いたコードです
コード.gsvar sh = SpreadsheetApp.getActiveSheet(); function set_value() { var header = "カナ"; var value = "サシスセソ"; var headers = get_headers()[0]; var row = sh.getLastRow() + 1; var col = headers.indexOf(header) + 1; sh.getRange(row, col).setValue(value); } function get_headers() { var last_col = sh.getLastColumn(); var range = sh.getRange(1, 1, 1, last_col); var headers = range.getValues(); return headers; } |
意訳.gs今開いているシートを取得する この処理は以下を実行する 入力したい列の値 入力したい値 1行目のすべての値を取得して 入力したい行(最終行の次の行)を取得して 入力したい列をみつけて 入力したい値を入力する この処理は以下を実行する 値が入っている最終列を取得して 1行目の1列目から1行分、last_col列までの 値を取得して 返す |
おまけ
var headers = get_headers()[0];
の[0]について
function get_headers() {}内でreturnしているheadersの中身を
ログに出して見てみるとこのようになっている
get_headers()で返ってくるのが [[かな, カナ, 半角カナ]]なので
get_headers()[0]とすると[かな, カナ, 半角カナ]を取得できる
ログに出すコード.gs
function get_headers() { var last_col = sh.getLastColumn(); var range = sh.getRange(1, 1, 1, last_col); var headers = range.getValues(); Logger.log(headers); return headers; }
参考
https://developers.google.com/apps-script/reference/spreadsheet/sheet