我一直在尝试捕获每项任务状态更改的时间戳。任务在行中被提及为任务1,任务2和任务1。等等,它们的状态在col A(任务名称)之后的col B中提到。共享电子表格的用户可以修改任务状态。任务有5种状态:P,Q,R,S,T可以任意顺序实现(一种状态的确定顺序不是另一种)。一旦任何人修改了状态,我想捕获时间戳&在下一列中捕获状态,以便对状态和状态进行所有更改。时间戳记在连续的列中作为状态1(P / Q / R / S / T)&时间戳。然后,对任务状态的所有更改都将记录在相应的列中。 我已经找到了使用此代码捕获状态更改的方法:
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "Sheet1" ) {
var r = s.getActiveCell();
if( r.getColumn() == 2 ) {
var nextCell = r.offset(0,2);
if((nextCell.getValue() == "" && r.value != "")) {
nextCell.setValue(new Date());
} else if(nextCell.getValue() != "" && r.value == "") {
nextCell.setValue("");
}
}
}
}
这是指向我的工作表的链接:https://docs.google.com/spreadsheets/d/1kQzxu6i5uPYUVtFfMz9sKk6FiRKfiqzB92unBap9rF8/edit?usp=sharing
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
这是您上一个问题的代码:
function onEdit()
{
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "Sheet1" ) {
var r = s.getActiveCell();
if( r.getColumn() == 4 ) {
var nextCell = r.offset(0,1);
if((nextCell.getValue() == "" && r.value != "") || (nextCell.getValue() != "" && r.value != "")) {
nextCell.setValue(new Date());
} else if(nextCell.getValue() != "" && r.value == "") {
nextCell.setValue("");
}
}
}
}
它看起来与您当前的问题非常相似。在寻求其他帮助之前,请尝试回答您自己的问题。