【问题标题】:Master sheet update as new tabs are added添加新选项卡时主表更新
【发布时间】:2021-06-09 22:18:25
【问题描述】:

我有一个主工作表,我想在 Google 表格的同一工作簿中合并来自其他选项卡的值。其他选项卡都具有相同的格式;我要拉入主数据的数据位于所有选项卡中的相同位置。获取现有选项卡数据的公式很简单。我想知道的是:有没有办法让主选项卡在添加新选项卡以将这些新选项卡包含在数学中时自动更新?选项卡名称通常是日期,例如 03/15/21、03/31/21 等。我在整个工作簿中只有一个其他选项卡具有不同的数据,我想排除这些数据。 不确定这是否可能,但提前感谢任何试图提供帮助的人。

https://docs.google.com/spreadsheets/d/10F-fqCsEHDeMf221XnA-U2lUocj9O_qHauh00qnq2ew/edit?usp=sharing

【问题讨论】:

  • 嗨。我有一个类似的问题。这很困难。我设法列出了一个名为日期的现有工作表。然后我尝试为同一个单元格(01/01/21!A1,01/02/21!A1 ...等)构建一个由所有工作表组成的范围,但我失败了,因为INDIRECT函数不适用于arrayformula。 :-(

标签: google-sheets google-sheets-formula


【解决方案1】:

我找到了一种解决方法,至少对于那些不想使用脚本的人来说是这样。 我创建了一个列,其中包含 01/15、01/31 ... 12/31 年的日期,格式为纯文本。

在相邻的列中,我放置了一个公式来检查这些工作表中的单元格的值,在我的例子中: =IFERROR(INDIRECT(A1&"!AC2"),) A1 是我的日期所在的位置,AC2 是我的日期所在的位置另一个选项卡中的单元格是我要检查的。复制该列(arrayformula 在这里不起作用)。基本上,如果选项卡在 A 列中存在日期名称,则该值将返回,但如果选项卡尚不存在,它将返回空白。

然后,在下一列中,我对两者进行排序和过滤: =SORT(FILTER(A:B,ISNUMBER(B:B)),2,TRUE)随着新标签的添加而更新(同样,每个标签上的数据布局相同,这很重要!)。

然后,我使用该排序/过滤列在 Master 表上进行数学运算。 我意识到这有点复杂,但它无需使用脚本即可工作。如果这对任何人有帮助,我会更新我的示例表。

【讨论】:

    【解决方案2】:

    回答

    使用Google Apps Script 创建一个对所有工作表的值求和的函数。

    一步一步

    • 打开Apps Script,点击Tools > Script editor,你会看到脚本编辑器。它基于 JavaScript,允许您使用名为 Spreadsheet Service 的服务创建、访问和修改 Google 表格文件。
    • 编写一个具有以下特性的函数:
      • 输入:A1 Notation中要求和的单元格
      • 使用getSheets 获取所有表格
      • 从第二张表(索引 1)开始对所需单元格的值求和。使用getRangegetValue
      • 返回值
    • 从电子表格中所需的单元格调用函数。例如,在 E1 中使用 =sumSheets("E1")

    代码

    function sumSheets(cell){
      var ss = SpreadsheetApp.getActiveSpreadsheet()
      var sheets = ss.getSheets()
      var sum = 0
      for (var i=1; i<sheets.length; i++){
        sum += sheets[i].getRange(cell).getValue()
      }
      return sum
    }
    

    参考

    【讨论】:

    • 嗨 - 我试过这个,但每当我添加新选项卡或现有选项卡的单元格中的数据发生更改时,它都不会更新。我承认我对工作表中的脚本几乎一无所知,所以也许我做错了什么?我运行了您放入示例表的代码并授予了权限。我需要做更多的事情吗?谢谢。
    • 嘿,我注意到自定义公式不会自动更新结果。我会进行调查以找到解决方法,但是,我很高兴您解决了您的问题。
    猜你喜欢
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多