谷歌脚本 - 在下拉列表中选择特定文本时自动填充当前日期时间



我想知道是否有人可以帮助我使用以下谷歌脚本?我刚刚开始研究一些谷歌脚本,并帮助我的同事跟踪他的作品的制作。

下面是该字段的说明。

Column 9 = Status (Dropdown list: Pending, In-progress, Done)
Column 11 = Send Date
Column 13 = Start Date
Column 14 = End Date

我希望脚本如何工作 例:

  • 当第 9 列(下拉列表)值 = "挂起"时,则自动填充当前 日期到第 11 栏。
  • 当第 9 列(下拉列表)值 ="正在进行"时,则自动填充 第 13 列的当前日期。
  • 当第 9 列(下拉列表)值 = "结束日期"时,则自动填充当前 日期到第14栏。

我正在努力在状态为"进行中"时获取的代码。 -> [s.getValue() !== '进行中'] 但我不确定在哪里或如何将我正在寻找的某些文本放在这里。

function onEdit(e) {
var s = e.source.getActiveSheet(),
cols = [9],
colStamp = 13,
ind = cols.indexOf(e.range.columnStart)
if (s.getName() !== 'Lab Cases Tracker' || s.getValue() !== 'In-progress' || ind == -1) return;
e.range.offset(0, parseInt(colStamp - cols[ind]))
.setValue(e.value ? new Date() : null);
}

非常感谢!

这应该可以做到:

function onEdit(e) {
var ss=SpreadsheetApp.getActiveSpreadsheet()
var s1=ss.getActiveSheet()
var s = e.source.getSheetName()
var col=e.range.getColumn()
var r=e.range.getRow()
var val=e.value
var curDate = Utilities.formatDate(new Date(), "GMT+1", "MM/dd/yyyy")
if(s=="Lab Cases Tracker" && col==9){
if(val=="Pending"){
s1.getRange(r,11,1,1).setValue(curDate);
}
else if(val=="In-progress"){
s1.getRange(r,13,1,1).setValue(curDate);
}
else if(val=="End Date"){
s1.getRange(r,14,1,1).setValue(curDate);
}
else{return} 
}}

最新更新