如何创建一个脚本来合并另一个表中的几个表?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建一个脚本来合并另一个表中的几个表?相关的知识,希望对你有一定的参考价值。
对不起我的英语,这不是我的力量!
我正在为一个负责培训课程的非政府组织工作。
我们有一个google工作表,在不同的电子表格中逐个编译每个培训日参与者的数据。
所以我的年度文档由30个电子表格组成。我想再创建一个电子表格,它将合并来自其他标签的所有数据,以便: - 能够快速查看谁还没有支付他的账单 - 计算总金额
我知道我可以通过使用过滤器功能来实现它,但是对于这么多的电子表格来说它真的非常耗时,如果我添加一个训练课程,我将不得不改变公式。而且,我每年都会被迫这样做。
所以我想创建一个按钮来导入新电子表格中的所有数据。
您将在此处找到仅包含2个电子表格的工作表示例:https://docs.google.com/spreadsheets/d/1-RxzUGJFXnU3_mJ3Qj0MCTpwPTlnmgIT439AchyrRrE/edit?usp=sharing
我希望你能帮助我!
谢谢,新年快乐:D
Merging Sheets in another sheet in same spreadsheet.
您将需要名为“CopiDdeFCCE”的电子表格的ID,其他参数将默认为“CopieDdeFCCE”。
function mergeSpreadsheet(ssid,shname){
var shname=shname || 'CopieDdeFCCE';
var ss=SpreadsheetApp.openById(ssid);//id of spreadsheet named 'CopieDdeFCCE' in your case
var sh=ss.getSheetByName(shname);//sheetname of sheet where other sheets are merged into again in your case its named 'CopieDdeFCCE'
if(!sht){ss.insertSheet(shname);}
var allshts=ss.getSheets();
for(var i=0;i<allshts.length;i++){
if(allshts[i].getName()!=shname){//do this for all sheets except shname
var shi=allshts[i];
var rg=shi.getDataRange();
var vA=rg.getValues();
shi.getRange(sh.getLastRow() + 1, 1,shi.getLastRow(),shi.getLastColumn()).setValues(vA);
}
}
}
只是为了清楚。
- Google称之为电子表格的文件是包含所有标签(即表格)的文件。
- 在您的第一个评论中,您说了以下内容:我想将名为“CopieDdeFCCE”的所有28张文件合并到同一文件的新工作表中。
- 但现在在你的问题中你说:我想创建一个按钮来导入新电子表格中的所有数据。
- 您在上次评论中声明您的命令如下所示:mergeSpreadsheet(“1KC6kHcgtLZ93S4-r4wOwHFOG6Rq3mesGRKv26Ttnm9E”,“CopieDdeFFCE”)
- 但很明显,这不是示例的ID,并且该示例没有具有该名称的工作表。
所以我的问题是:你究竟想要什么?
很抱歉,我没有收到任何回复通知,因为这是一个编辑,当我来看看你是否写了一些东西时,我看了一下网站的底部。 :/
首先,新年快乐,再次感谢您的帮助!
以下是您提出的精确度:
1°实际上,我想将名为“CopieDdeFCCE”的所有28张文件合并到同一文件的新工作表中。为了更准确,我给你链接文件的确切位置和一些表格的例子:link。
2°其次,我将创建一个按钮,轻松更新所有数据。但我想我知道该怎么做,所以暂时忘记这个问题;)
3°在我附上的文件中,我们是否同意“id”是:1KC6kHcgtLZ93S4-r4wOwHFOG6Rq3mesGRKv26Ttnm9E ??
再次感谢您的所有时间!
以上是关于如何创建一个脚本来合并另一个表中的几个表?的主要内容,如果未能解决你的问题,请参考以下文章