我有B-E列,用于输入信息;A列用于添加日期/时间戳,用于在B-E列中的所有信息都已输入时添加日期/时间戳。我有它的编码,如果只是列B输入,但正在努力获得它时,列B-E输入,而不仅仅是列B。我还希望日期和时间格式为MM/DD/YYYY HH:MM:SS: am /PM
以下是我到目前为止拥有的代码:
function onEdit(e) {
  
  var row = e.range.getRow();
  var col = e.range.getColumn();
  var targetColumn = 2;
  
  if(targetColumn  && row >1 && e.source.getActiveSheet().getName() === "HHAM"){
  e.source.getActiveSheet().getRange(row,1).setValue(new Date());
}
}下面是文档:https://docs.google.com/spreadsheets/d/1KDywZKPUpbPImnnN-X9GeVLL_VUzu16vTwEGXwCHKQ0/edit?usp=sharing
发布于 2021-06-11 06:45:12
可以使用正则表达式检查编辑后的单元格是否属于B、C、D和E列。
试试这个:
function onEdit(e) { 
  var row = e.range.getRow();
  var range = e.range.getA1Notation();
  if(range.match(/[B,C,D,E]\d/) && row > 1 && e.source.getActiveSheet().getName() === "HHAM"){
    var data = e.range.getValues();
    var filtered = data.filter(e => {
      return e[0] != ''
    });
    if(filtered.length == 0){
      e.source.getActiveSheet().getRange(row,1).setValue(""); // this will remove the date to any deletion happen to cells
    }else{
      e.source.getActiveSheet().getRange(row,1).setValue(new Date());
    }
  }
}示例数据:
编辑/插入到单个单元格的:

一次编辑/插入多个数据:

要将格式更改为MM/DD/YYYY HH:MM:SS:AM/PM:
此字符串的A
参考文献:
https://stackoverflow.com/questions/67928219
复制相似问题