0
function timestamp() { 
return new Date() 
} 

功能重新计算的每次我打开表。我只希望它在编辑时重新计算。 我试图搞砸“onEdit”,但我永远无法得到它的工作。我也尝试了“当前的项目触发器”,但似乎没有解决问题。我为这个问题的简单性而道歉,我根本无法找到或找出答案。 谷歌片脚本 https://docs.google.com/spreadsheets/d/1-Ix9LUmMYNqWnz0mB2PAg9ocJ-TwszqHRbqxAchcxhc/edit#gid=0功能重新计算每次我打开工作表的时候,我只希望它重新计算编辑

+0

您正在使用什么编程语言? – Stibu

+0

对不起,我没有澄清,这是一个谷歌床单脚本 – Beukenator

+0

这是一个用Google Apps脚本编写的自定义函数。通过在电子表格单元格中输入= timestamp()来使用此函数,对吗?为了改变这一个onEdit你将不得不在你想为WACH编辑什么表的代码,什么范围,其中的日期应写,等... – JPV

回答

0

它看起来(基于问题的评论),就像你已经创建了一个自定义公式,并把它放在一个池。如果是这种情况(这意味着你实际上在单元格中有= timestamp()),那么它总是会在打开和编辑时重新计算。

这只是如何公式(包括通用的标准和自定义的)工作。当您在电子表格中开始使用太多公式时,您会注意到这一点,并且它开始变慢,甚至无法正确加载。

如果你想要的东西,只有在编辑更新,你必须编写正是这么做的一个函数,然后设置调用它在编辑的触发器。

例如,该功能将摆在当前电子表格的第一张A1单元格中的当前日期:

function setTimestamp() 
{ 
    var thisSS = SpreadsheetApp.getActiveSpreadsheet(); 
    var firstSheet = thisSS.getSheets()[0]; 
    var firstCell = firstSheet.getRange(1, 1); 

    firstCell.setValue(new Date()); 
} 

,当你把它这种功能将只运行,所以你可以设置触发任何你想要的。显然,你必须弄清楚如何选择你想要日期出现的单元格。

+0

这不会工作。看到我在这个问题上的意见。 –

+0

@ZManMandel,我不知道我明白。我创造了这个电子表格(https://docs.google.com/spreadsheets/d/1u2x4mMlGxhubGG58V0zsToXDDiWHCZadWaCYWLMulqA/edit?usp=sharing),它似乎是工作。你可以看一下吗? – mrfinnsmith

+0

@villager,对于我所处的情况,这可能会变得非常混乱。我将分享问题的示例链接。 – Beukenator