Database design 谷歌电子表格之间的双向内容同步

Database design 谷歌电子表格之间的双向内容同步,database-design,sync,google-sheets,dashboard,database-mirroring,Database Design,Sync,Google Sheets,Dashboard,Database Mirroring,我正在创建一个谷歌电子表格仪表板,以总结来自许多不同项目的内容。所有项目内容都包含在其他谷歌电子表格中。每个项目都有一个任务列表/待办事项列表。我试图找到一个解决方案,使我能够做到以下几点: 1)将每个项目电子表格中的任务列表拉入仪表板上的主任务表中 2)在项目任务表上添加/编辑/删除任务,然后自动更新主任务表 3)在主任务表上添加/编辑/删除任务,然后会自动更新项目任务表 数字1和2使用importrange()和query()函数相当简单,但据我所知,它们只是单向解决方案。3号有什么帮助吗

我正在创建一个谷歌电子表格仪表板,以总结来自许多不同项目的内容。所有项目内容都包含在其他谷歌电子表格中。每个项目都有一个任务列表/待办事项列表。我试图找到一个解决方案,使我能够做到以下几点:

1)将每个项目电子表格中的任务列表拉入仪表板上的主任务表中

2)在项目任务表上添加/编辑/删除任务,然后自动更新主任务表

3)在主任务表上添加/编辑/删除任务,然后会自动更新项目任务表

数字1和2使用importrange()和query()函数相当简单,但据我所知,它们只是单向解决方案。3号有什么帮助吗

样本文件:


您可以使用此脚本执行任务。但这在同一个电子表格中有效。我无法将这与两个不同的电子表格联系起来

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);
    }      
  }
}