【问题标题】:Bidirectional content syncing between google spreadsheets谷歌电子表格之间的双向内容同步
【发布时间】:2012-12-31 20:59:32
【问题描述】:
我正在创建一个谷歌电子表格仪表板来总结来自许多不同项目的内容。所有项目内容都包含在其他谷歌电子表格中。每个项目都有一个任务列表/待办事项列表。我正在尝试找到一个解决方案,让我能够执行以下操作:
1) 将每个项目电子表格中的任务列表拉到仪表板上的一个主任务表中
2) 在项目任务表上添加/编辑/删除任务,然后会自动更新主任务表。
3) 在主任务表上添加/编辑/删除任务,然后会自动更新项目任务表。
数字 1 和 2 使用 importrange() 和 query() 函数相当简单,但据我所知,这些只是单向解决方案。对 3 号有帮助吗?
示例文件:
Project 1
Project 2
Dashboard
【问题讨论】:
标签:
database-design
sync
google-sheets
dashboard
database-mirroring
【解决方案1】:
您可以使用此脚本并执行任务。但这适用于同一个电子表格。我无法将它与两个不同的电子表格链接。
function onEdit()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();
var activeSheetName = ss.getActiveSheet().getSheetName();
if( activeSheetName == "Sheet1" || activeSheetName == "Sheet2" )
{
var activeCell = activeSheet.getActiveCell();
var activeCellinA1 = activeCell.getA1Notation();
if( activeCellinA1 == "A1" )
{
var activeCellValue = activeCell.getValue();
if( activeSheetName == "Sheet1" )
ss.getSheetByName("Sheet2").getRange("A1").setValue(activeCellValue);
if( activeSheetName == "Sheet2" )
ss.getSheetByName("Sheet1").getRange("A1").setValue(activeCellValue);
}
}
}