Google apps script 清除上一个单元格时是否删除日期戳?
我有一个脚本,当前用于在更改项目的低库存时添加日期戳。我希望它在清除库存单元时删除日期戳(如果项目缺货) 目前,即使我删除了日期戳和库存,它也会自动将日期戳放回 基本上,如果前一个单元格中有信息,我只需要一个日期戳&我希望在每次更改前一个单元格中的信息时更新日期 我对脚本非常陌生。可能吗?以下是我在网上找到的脚本:Google apps script 清除上一个单元格时是否删除日期戳?,google-apps-script,google-sheets,triggers,Google Apps Script,Google Sheets,Triggers,我有一个脚本,当前用于在更改项目的低库存时添加日期戳。我希望它在清除库存单元时删除日期戳(如果项目缺货) 目前,即使我删除了日期戳和库存,它也会自动将日期戳放回 基本上,如果前一个单元格中有信息,我只需要一个日期戳&我希望在每次更改前一个单元格中的信息时更新日期 我对脚本非常陌生。可能吗?以下是我在网上找到的脚本: 函数onEdit(){ var s=SpreadsheetApp.getActiveSheet(); 如果(s.getName()=“Data”){//检查我们的工作表是否正确 va
函数onEdit(){
var s=SpreadsheetApp.getActiveSheet();
如果(s.getName()=“Data”){//检查我们的工作表是否正确
var r=s.getActiveCell();
如果(r.getColumn()==4){//检查该列
var nextCell=r.offset(0,1);
setValue(新日期());
}
}
}
您希望根据当前单元格是否包含信息采取一些操作。您可以使用.getActiveCell().getValue()
获取单元格中的当前值,并将其与if-else
一起使用,以有条件地执行某些操作。在下面的示例中,如果值为truthy,则设置时间戳;如果值为falsy,则清除时间戳单元格
函数onEdit(){
var s=SpreadsheetApp.getActiveSheet();
if(s.getName()!=“数据”)返回;//如果不在“数据”中则退出
var r=s.getActiveCell();
if(r.getColumn()!==4)返回;//如果不编辑列D,则退出
var nextCell=r.offset(0,1);
//根据当前单元格值制作戳记或移除戳记
if(r.getValue())
nextCell.setValue(新日期())
else nextCell.clear();
}
试试这个:
function onEdit(e) {
const sh=e.range.getSheet();
if(sh.getName()=="Data" && e.range.columnStart==4) {
const ts=Utilities.formatDate(new Date(),Session.getScriptTimeZone(),"E MMM dd, yyyy HH:mm:ss");
if(e.value) {
e.range.offset(0,1).setValue(ts);//if D is not blank
}else{
e.range.offset(0,1).setValue('');//if D is blank
}
}
}