Google 脚本:有一个静态的 onEdit 时间戳

Google Script: Have an onEdit timestamp static

我试图在将数据添加到 sheet 时在列中显示时间戳。我使用以下脚本取得了一些成功:

function onEdit(e) {

var colToWatch = 2, colToStamp = 1;
if (e.range.columnStart !== colToWatch) return;
var writeVal = e.value ? new Date() : '';
e.source.getActiveSheet()
    .getRange(e.range.rowStart, colToStamp)
    .setValue(writeVal);
}

我的问题是,每次编辑第 2 列中的文本时,时间戳都会更改为当前时间。

我希望它有一个时间戳,显示最初添加文本的时间(这样它就可以在另一个 sheet 中按那个日期组织)。其他人将可以访问此 sheet 并且可能会意外更改某些内容并导致按日期组织的 sheet 发生更改。

我是脚本新手,是否可以在第一次添加数据时只使用 onEdit 运行? onChange() 似乎可以帮助我,但我还没有找到任何东西。

基本上,如果时间戳单元格已填满,您希望终止。

if (e.source
     .getActiveSheet()
     .getRange(e.range.rowStart, colToStamp)
     .getValue()) {
  return;
}