保存完成任务所需的时间(以天为单位)

Save how long took for a task to be completed (in days)

我正在构建项目管理sheet。如何更改单元格值,例如:

if(doing) = 计算到今天过去的天数 if(done) = 停止更新,保存“LastToday-StartDay)

到现在为止是这样的: =IF(AND(G26="Doing"; NOT(H27="")); 今天()-H27; "")

在列中,我将其放在第 2 行并向下复制:

=iferror(if(H2<>"",today()-H2,""))

在 J 列中,将其放入第 2 行并向下复制:

=iferror(if(G2="Done",H2+I2,""))

在脚本编辑器中复制并粘贴:

function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet() 
var s=ss.getSheetByName("Sheet1")//get sheet by name
var editedCell = event.range.getSheet().getActiveCell().getValue();//get 
column G value
var editedCol = event.range.getSheet().getActiveCell().getColumn();//get 
edited column number
var editRow=event.range.getSheet().getActiveCell().getRow();//get edited row
if(editedCol==7 && editedCell=="Done"){//if column is G and G="Done"
 var cpy=s.getRange(editRow,9 ,1, 2).getDisplayValues()//get values (not 
formulas) of I and J 
 var cpyVal=s.getRange(editRow,9 ,1, 2).setValues(cpy)// overwrite foemulas 
with values
}}

如果编辑了 G 列并且它的值为 "Done",则显示值从 I 列复制并覆盖公式。完成日期(设置完成的日期)在 J 中设置。再次覆盖公式。如果您需要,我可以分享示例电子表格。

这是共享的电子表格。制作副本,然后您可以对其进行编辑。如果公式在您的电子表格中不起作用,请将“,”替换为“;”。

https://docs.google.com/spreadsheets/d/1zQI02kWgDfwsCr4WOmB2bE3fsspwt7cFqnHpqZysyOE/edit?usp=sharing