特定のヘッダの列に日時を入力したくて書いたコード
この記事でやること
- ヘッダの値を見て、dateならその列に日時を入力する
日時を入力する条件
- dataの列が編集された時は入力しない
- 1行目が編集された時は入力しない
コード.gs
function onEdit() { var header = "date"; var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var range = sheet.getActiveRange(); var row = range.getRow(); var col = range.getColumn(); var date = new Date(); set_value(sheet, row, col, date, header) } function set_value(sheet, row, col, value, header) { var headers = get_headers(sheet)[0]; var targetCol = headers.indexOf(header) + 1; if(col !== targetCol && row > 1){ sheet.getRange(row, targetCol).setValue(value); } } function get_headers(sheet) { var last_col = sheet.getLastColumn(); var range = sheet.getRange(1, 1, 1, last_col); var headers = range.getValues(); return headers; } |
関連記事