我可以在 Google 张中简化我的脚本吗?

Can I Simplify my Script in Google Sheets?

我已经构建了一个 Google Sheet 使用脚本在编辑时自动为 sheet 上的某些事件添加时间戳。

两个计时器仅用于对两个特定单元格的第一次编辑计时:

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "SUBARU" ) { 
var r = s.getActiveCell();
if( r.getColumn() == 3 ) { 
var nextCell = r.offset(0, 19);
if( nextCell.getValue() === '' ) 
nextCell.setValue(new Date());
}
}
}

两个额外的计时器为两个其他单元格被编辑的任何实例计时:

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "SUBARU" ) { 
var r = s.getActiveCell();
if( r.getColumn() == 9 ) { 
var nextCell = r.offset(0, 15);
nextCell.setValue(new Date());
}
}
}

当一个特定单元格中发生三个特定条目时,其他三个计时器会计时:

function onEdit() {
 var s = SpreadsheetApp.getActiveSheet();
 if( s.getName() == "SUBARU" ) { 
 var r = s.getActiveCell();

 if( r.getColumn() == 5 ) {  
        var nextCell = r.offset(0, 20);
  if( r.getValue() === "3 - Menu Ready")
    nextCell.setValue(new Date()).setNumberFormat('dd-MM-yyyy HH:mm:ss');
  }
  }
  }

我的问题是每个 sheet 我有七个脚本,并且有 4 个 sheet 使用这些脚本(所以总共有 28 个脚本 运行ning)。我的 Google 报价是同时 运行ning 30 个脚本。任何人都可以想办法将这些脚本更快地简化为 运行 或组合任何脚本以便在任何给定时间我拥有更少的 运行ning 吗?

任何帮助将不胜感激!!!

我的建议是将所有逻辑组合到一个“onEdit”函数中。

这是我的代码 approach/suggestion 来处理它:

if(s.getName() == "SUBARU") {
  //put the logic to handle sheet SUBARU
} else if(s.getName() == "ABC") {
  //put the logic to handle sheet ABC
} else if(s.getName() == "DEF") {
  //put the logic to handle sheet DEF
}