我很难找到一种方法来同步多个工作表到主电子表格。 对于我的测试,我有一个大的电子表格,在5个城市的地址。我正在尝试为每个城市创建电子表格,并且可以在任一工作表中更改数据时同步数据。 所以我会管理整体数据,并将5个电子表格中的每一个分配给其他人。这样,他们可以更新无权访问所有数据的工作表。使用内置查询或导入区域功能的问题在于,如果用户对“城市”电子表格进行了更改,则会因为引用数据而打碎表单。同步多个谷歌电子表格(5 +)回到主谷歌电子表格
我在搜索后通过'Dev'找到了代码。
var sourceSpreadsheetID = "ID HERE";
var sourceWorksheetName = "SHEET NAME HERE";
var destinationSpreadsheetID = "ID HERE";
var destinationWorksheetName = "SHEET NAME HERE";
function importData() {
var thisSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetID);
var thisWorksheet = thisSpreadsheet.getSheetByName(sourceWorksheetName);
var thisData = thisWorksheet.getDataRange();
var toSpreadsheet = SpreadsheetApp.openById(destinationSpreadsheetID);
var toWorksheet = toSpreadsheet.getSheetByName(destinationWorksheetName);
var toRange = toWorksheet.getRange(1, 1, thisData.getNumRows(), thisData.getNumColumns())
toRange.setValues(thisData.getValues());
}
这个伟大的工程,因为它拷贝了让我做编辑的数据,但问题是我不能导入只是我想要的数据。如果我可以使用sql查询,id可以例如选择*哪里城市='迈阿密',但我相信这是不可能的谷歌电子表格在此刻。
因此,我的下一个想法是使用此脚本并在子电子表格上设置过滤器。问题是,当它运行脚本时,它会将整个表单复制回来,如果5个用户中的任何一个同时更新他们自己的电子表格,则会导致问题,因为他们会覆盖彼此的更改。 另一个想法是,因为每个记录都有自己的唯一ID#(我有一个名为ID的列)有没有办法告诉活动电子表格更新主表中的行id = masterspreadsheet.id编辑?
任何帮助正确的方向将不胜感激。
可以在谷歌电子表格实际使用查询,但它是动态的,在数据总是被更新:https://support.google.com/docs/answer/3093343?hl=恩。这是否解决您的问题? – Kriggs
我从单独的电子表格中提取数据,因此我无法使用Query函数本身。我必须做一个引用数据的导入范围。所以不幸的是,这对我不起作用。 – User125