如何解决如何将多个g表中的数据合并为一个?
以下是带有示例的链接:
我想将“第一”,“第二”和“第三”选项卡中的数据合并到“合并”选项卡中,并且都在同一标题(标题,类型,流派)下
请让我知道是否存在脚本-因为我需要在其上使用的实际文档有30多个标签,因此公式可能会崩溃。
解决方法
说明:
-
以下脚本使用forEach遍历工作表, 排除
exclude_sheets
数组中提到的内容。 -
对于每张工作表,它将需要在脚本开头设置的特定范围之间的值存储到
data
数组中。 -
范围从列A (
start_row
)和列C之间的第六行(start_col=1
)开始(end_col = 3
)。最后一行定义为包含内容的最后一行,因此您无需手动设置它,并且工作表之间也可以不同。但是,表格之间的起始行和列范围必须相同。 -
它最终从单元格 A2 开始将
data
粘贴到测试表(res_sheet = 'Test'
)。
可以随意修改上面的参数,但要遵守底层逻辑,否则脚本将无法正常工作。
Google Apps脚本解决方案:
function myFunction() {
const ss = SpreadsheetApp.getActive();
const sheets = ss.getSheets();
const exclude_sheets = ['Combined','Test'];
const res_sheet = 'Test';
const start_row = 6;
const start_col = 1;
const end_col = 3;
const data = []
sheets.forEach(sh=>{
if(!exclude_sheets.includes(sh.getName())){
let temp = sh.getRange(start_row,start_col,sh.getLastRow()-start_row+1,end_col).getValues()
data.push(...temp);
}});
ss.getSheetByName(res_sheet).getRange(2,1,data.length,data[0].length).setValues(data);
}
在使用此解决方案之前,请确保已启用V8 runtime enviroment。
参考文献:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。