2016-06-30 42 views
3

我有一个索引/匹配公式匹配特定文件基于某些单元格的日期值。这里是公式:强制谷歌表单公式重新计算

=IFERROR(INDEX(INDIRECT("'"&TEXT($O$3,"mm-dd-yyyy")&"'!"&"$D3:$D$500"),MATCH($D5,INDIRECT("'" & TEXT($O$3, "mm-dd-yyyy") &"'!$B$3:$B500"),0)),0) 

我注意到,即使我导入新的CSV,值也没有改变。只有这样我才能更新数值,实际上是重新输入公式,方法是从顶部拖动到最后一个单元格,就像手动操作一样。

我试着改变设置下的重新计算时间,但它似乎是设置不适用于我的公式,因为我将它设置为每分钟都没有发生。

我想写一个脚本让它重新输入公式并将其设置为每天运行,但我希望有一个更简单的方法来做到这一点。

回答

2

我发现了一个简单的解决方案,我的问题。我写了一个脚本,基本上将正确的日期重新输入到公式引用的单元格中,并更新了公式。

8

简答回答

您的公式不会被重新计算,因为它的参数不会改变。正如你自己已经想出的那样,解决方案是重新将正确的参数输入到公式引用的单元格中。

说明

  1. 电子表格是开放
  2. 函数参数的变化
  3. 那么,今天,RAND和RANDBETWEEN是按照更新的功能,谷歌床单公式重新计算电子表格设置,更改,更改和每分钟,更改和每小时
  4. 重新计算外部数据函数以下的时间间隔:
    • IMPORTRANGE:30分钟
    • IMPORTHTML,IMPORTFEED,IMPORTDATA,IMPORTXML:1小时
    • 个GoogleFinance:1分钟

注意:某些功能和自定义函数没有按”不允许确定性函数作为参数。

参考
0

这里的另一个解决方案中,尽管一个是计算昂贵的:通过范围在计算中的功能加以考虑。这样,只要传递范围内的值发生变化或者范围本身发生变化(例如在该范围内插入一行),公式就会重新计算。

+0

示例:试试这个简单的函数。 function testPassRange(calcRange){ return calcRange.length; } –