2016-02-25 54 views
0

我有一张有一些日期的工作表,如“25/02/2016”,列在一列中。在每个日期右侧的单元格中,有一些数字值。如何保持2张不同工作表中的值同步?

我需要将这些数值复制到不同工作表上的特定范围。理想情况下,它会像单向同步一样工作,我会在sheet1和sheet2上写入值,并自动更新。

我一直在浏览Google Apps脚本文档,但我不知道从哪里开始。我确实有一些伪代码,只是不知道如何在这里使用它。

function getDates() { 
    for (count = 0; count < sheet1.length; count++) { 
     if (hasDate) { 
      return(cell); 
     } 
    } 
} 
var numericValuesRows = sheet1.getDates().getRow(); 
var numericValuesRange = numericValuesRows.selectColumns(C-F); 

只是编写方法名称和语法。该位应该找出哪些行中有日期,然后在这些行中选择C到F列。下一个应该选择从row3:columnC到row10:columnF的所有单元格的目标,并将之前选定的值复制到那里。

var outputRange = sheet2.cellRange(C3-F10); 
numericValuesRange.copyTo(outputRange); 

我意识到这是非常糟糕的伪代码,但我希望它至少有助于以某种方式获得我想要做的事情。什么是最好的方法来做到这一点?

+1

如果您想使用代码而不是公式,您可能需要触发代码以使用简单的'onEdit()'函数运行。所以,只要有编辑,代码就会运行。但是,如果工作表1中的任何值都随代码一起更改,则这不起作用。 –

+0

除非你有充分的理由说明为什么不是或者这是大脚本的一小部分,IMPORTRANGE()公式与其他逻辑相结合可能是更好的选择。 – Jonathon

回答

0

使用onEdit()触发器,它会在您编辑工作表时触发。您可以检查编辑的来源,以确保对特定工作表中的单元格进行编辑。一旦完成,其使用getValue(),setValue()getSheetByName()即可。从这里开始:simple triggers