0

我有 BE 列,其中将输入信息,A 列用于添加日期/时间戳,用于输入 BE 列中的所有信息。如果只输入 B 列,我已经对其进行了编码,但在输入 BE 列而不只是 B 列时,我正在努力获取它。我还希望日期和时间格式为 MM/DD/YYYY HH:MM: SS:上午/下午

这是我到目前为止的代码:

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

4

1 回答 1

0

您可以使用Regex检查编辑的单元格是否属于 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:

  1. 突出显示A 列
  2. 单击格式选项卡 -> 数字 -> 更多格式 -> 自定义数字格式
  3. 粘贴此字符串:mm"/"dd"/"yyyy" "hh":"mm":"ss" "AM/PM

参考:

于 2021-06-10T22:45:12.210 回答