Google sheets 谷歌工作表-查询多个未知工作表?

Google sheets 谷歌工作表-查询多个未知工作表?,google-sheets,google-sheets-formula,google-sheets-query,Google Sheets,Google Sheets Formula,Google Sheets Query,背景:我需要开发一个谷歌表单来管理我志愿服务的慈善机构每年的成本和收入。这个文件将由志愿者更新,所以我需要开发一个他们可以轻松使用的结构 我的想法是: 有一张带有活动和图表摘要的首页 让志愿者复制活动成本和收入模板,并添加他们的c&r 结果将有尽可能多的活动和慈善或筹款活动/活动 但是,由于年底之前还不知道表格的数量,我怎么能有一份汇总表呢 例如,我如何计算所有成本和所有收益?我是否可以查询以搜索**所有现有工作表精确字符串后面的单元格(例如总版本)?***您可以基于Javascript编写

背景:我需要开发一个谷歌表单来管理我志愿服务的慈善机构每年的成本和收入。这个文件将由志愿者更新,所以我需要开发一个他们可以轻松使用的结构

我的想法是:

  • 有一张带有活动和图表摘要的首页
  • 让志愿者复制活动成本和收入模板,并添加他们的c&r
结果将有尽可能多的活动和慈善或筹款活动/活动

但是,由于年底之前还不知道表格的数量,我怎么能有一份汇总表呢

例如,我如何计算所有成本和所有收益?我是否可以查询以搜索**所有现有工作表精确字符串后面的单元格(例如总版本)?***

您可以基于Javascript编写一个-a谷歌脚本服务 它的学习和使用相对简单,可以让你在不预先知道有多少张的情况下动态地循环浏览所有的工作表

下面的示例脚本迭代所有工作表,减去绑定到的电子表格的主工作表,并将单元格“A10”(如果这是有成本的单元格)的值相加。最后,它将总和的值设置到母版页的单元格“A10”中

function myFunction() {
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sheets=ss.getSheets();
  var sum=0;
  for (var i=0; i<sheets.length; i++){
    if(sheets[i].getName()!="Master"){
      var value=sheets[i].getRange("A10").getValue();
      sum=sum+value;
    }
  }
  ss.getSheetByName("Master").getRange("A10").setValue(sum);
}
函数myFunction(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheets=ss.getSheets();
var总和=0;
对于(var i=0;iYou可以基于Javascript编写一个-a谷歌脚本服务)
它的学习和使用相对简单,可以让你在不预先知道有多少张的情况下动态地循环浏览所有的工作表

下面的示例脚本迭代所有工作表,减去绑定到的电子表格的主工作表,并将单元格“A10”(如果这是有成本的单元格)的值相加。最后,它将总和的值设置到主工作表的单元格“A10”中

function myFunction() {
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sheets=ss.getSheets();
  var sum=0;
  for (var i=0; i<sheets.length; i++){
    if(sheets[i].getName()!="Master"){
      var value=sheets[i].getRange("A10").getValue();
      sum=sum+value;
    }
  }
  ss.getSheetByName("Master").getRange("A10").setValue(sum);
}
函数myFunction(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheets=ss.getSheets();
var总和=0;

对于(var i=0;i我建议志愿者不要在表格上填写任何内容


你可以通过谷歌表单从志愿者那里收集你需要的所有数据。该表单将把所有数据转储到谷歌工作表中的一个选项卡中,从中可以很容易地分析和总结你想要查看的数据,并与整个团队共享。

我建议志愿者不要在工作表上填写任何内容


您可以通过谷歌表单从志愿者那里收集所有需要的信息。该表单将所有数据转储到谷歌工作表中的一个选项卡中,从中可以轻松分析和总结您想要查看的数据,并与整个团队共享。

非常感谢,这非常有效。每次编辑时,我都会触发它进行操作制作,所以它总是最新的。因为我不知道脚本语言,请你帮我理解如何添加额外的操作?你说的额外操作是什么意思?很抱歉迟了答复。以及我需要从剩余的工作表的特定单元格收集其他数据的费用,但我不熟悉这种语言。所以我的问题是:which是添加新指令的最佳方式?我是否应该用新参数从
for
重复到
getRange(“A10”).setValue(sum);
?如果您想添加来自其他单元格的数据,基本上执行相同的过程,只需通过相应单元格替换“A10”即可包含您感兴趣的数据。但是,如果您希望从大于一个单元格的范围中获取数据(例如
getRange(“A10:C10”)
),您需要通过
getValues
替换
getValues
setValue
通过
setValues
替换
getValue
。非常感谢,这非常有效。每次进行编辑时,我都会触发它执行操作,因此它总是最新的。因为我不知道脚本语言,请帮助我了解如何添加其他脚本操作?您所说的其他操作是什么意思?很抱歉,回复太晚了。我需要从剩余的工作表中的特定单元格中收集其他数据,但我不熟悉这种语言。因此,我的问题是:添加新指令的最佳方式是什么?我是否应该重复从
for
getRange(“A10”)。设置值(总和)
使用新参数?如果您想从其他单元格添加数据,基本上也要执行相同的过程,只需通过包含您感兴趣的数据的对应单元格替换“A10”。但是,如果您想从大于一个单元格的范围(例如
getRange(“A10:C10”)
),您需要通过
getValues
替换
getValues
,通过
setValues
替换
setValue
。是的,这可能是一个聪明的解决方案,但我需要设计人员能够查看和更改/添加数据。我知道我也可以允许他们访问文件,但管理单个事件成本并不容易nd rev entries.是的,这可能是一个智能解决方案,但我需要设计人员能够查看和更改/添加数据。我知道我也可以允许他们访问文件,但管理单个事件成本和rev entries并不容易。