実現したいこと
GASで複数列のタイムスタンプ機能を実装したい
前提
グーグルスプレッドシートGASについて質問です。
A列が入力・更新された時、同じ行のB列に現在時刻が自動入力されるタイムスタンプ機能をネットから拾いコピペして使っています。
同様にC列に入力された時D列に、E列に入力された時F列にタイムスタンプという挙動にしたい場合は下記コードをどのように編集したらよいでしょうか?
//タイムスタンプ
function onEdit(e) {
//設定値
const targetSheetName = "シート1"; //対象のシート
const targetCol = 1; //対象の列番号(A列)
const targetRow = 3; //対象の行(この行以下を対象とする)
const resultCol = 2; //タイムスタンプを入れる列番号(B列)
const range = e.range;
const value = e.value;
const sheet = range.getSheet();
//設定値に該当しない場合はここで終了
if(sheet.getName() != targetSheetName || range.columnStart != targetCol || range.rowStart < targetRow) return;
if(value){
const now = new Date();
range.offset(0,resultCol-targetCol).setValue(now);
}else{
// value が空 (対象セルが Deletされた)時はタイムスタンプも消去
range.offset(0,resultCol-targetCol).clearContent();
}
}
試したこと
列の値を変えたGASを複数設定しましたがonEditは1つしか作動しない?ようで頓挫しました
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
0 コメント