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

时间:2017-03-17 20:37:26

标签: google-sheets spreadsheet

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

if(doing)=计算到今天为止的日子 if(done)=停止更新,保存" LastToday-StartDay)

直到现在它是这样的: = IF(AND(G26 ="做&#34 ;; NOT(H27 ="")); TODAY() - H27;"")

enter image description here

1 个答案:

答案 0 :(得分:1)

在第一栏中,我将其放在第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
}}

如果编辑了colummn G,那么; s值为&#34; Done&#34;显示值从第I列复制并覆盖公式。完成日期(设置完成的日期)在J.中设置。再次覆盖公式。如果需要,我可以共享示例电子表格。

这是共享电子表格。制作副本,然后您可以编辑它。如果公式不适用于您的电子表格,请替换&#34;,&#34;用&#34;;&#34;。

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