【发布时间】:2014-06-20 21:36:59
【问题描述】:
我看到一些关于通过 Google 表格中的 IMPORTRANGE 更新数据延迟的投诉,但我需要相反的情况,并且不希望第二张表格自动更新,例如在一天结束时更新。
代码已经是这样了:
=IMPORTRANGE("The Key","The_Page!B:D")
【问题讨论】:
标签: google-sheets google-drive-api google-sheets-formula importrange
我看到一些关于通过 Google 表格中的 IMPORTRANGE 更新数据延迟的投诉,但我需要相反的情况,并且不希望第二张表格自动更新,例如在一天结束时更新。
代码已经是这样了:
=IMPORTRANGE("The Key","The_Page!B:D")
【问题讨论】:
标签: google-sheets google-drive-api google-sheets-formula importrange
我通过在两个电子表格上使用NOW 单元格创建刷新循环来解决这个问题,两个电子表格交叉引用彼此的NOW 单元格。
当原始工作表附加了表单提交或其他内容时,它会更新自己的NOW 单元格,并重新更新自己的IMPORTRANGE 单元格。第二个电子表格紧随其后,更新其自己的NOW 单元格,为原始工作表提供正确的数据。因为第二个电子表格已经更新了自己,它也更新了主IMPORTRANGE,它首先刷新了您希望它显示的数据,以及从原始电子表格中获取NOW 单元格的IMPORTRANGE 单元格
至少,我很确定它是这样工作的。坦率地说,我所知道的,我所关心的只是它是否有效
【讨论】:
也许您需要使用脚本编辑器并编写一个简单的函数:
function importData()
{
var ss = SpreadsheetApp.getActiveSpreadsheet(); //source ss
var sheet = ss.getSheetByName("The_Page"); //opens the sheet with your source data
var values = sheet.getRange("B:D").getValues(); //gets needed values
var ts = SpreadsheetApp.openById("The Key"); //target ss - paste your key
ts.getSheetByName("Name of the target sheet").getRange("B:D").setValues(values);
}
然后为这个项目添加一个时间驱动的触发器(资源>当前项目的触发器>添加一个新的)。
【讨论】: