【问题标题】:Split a google forms master sheet into seperate tabs based on column responses根据列响应将谷歌表单主表拆分为单独的选项卡
【发布时间】:2019-09-18 08:16:36
【问题描述】:
我有一个谷歌表单,它被填充到谷歌母版表中。从主表中,我想制作单独的选项卡以通过标有“提供者类型”的列填充信息。提供者类型将有 13 个单独的选项卡。
此数据还应该每 30 分钟有一个时间上传响应。
我找到了在 excel 中分隔选项卡的代码,但是 google 应用程序脚本的语言不一样。我是新手学习者,因此任何建议都有帮助!如果您知道一种可能需要更少代码的更简单方法,请告诉我
预期的结果是一个主选项卡表,以及 13 个不同的选项卡,这些选项卡按独特的提供者类型及其来自主选项卡的响应。
【问题讨论】:
标签:
google-apps-script
split
tabs
master
【解决方案1】:
您根本无法访问 Master Sheet。只需使用绑定到onFormSubmit() trigger 的函数,您就可以在表单将信息加载到主工作表时将所有数据分发到各个工作表。
示例代码:
function onFormSubmit(e) {//Set up an onformsubmit trigger to this function
var ss=SpreadsheetApp.getActive();
var providerType=e.namedValues['provider type'];
if(!isSheet(providerType)) {
ss.insertSheet(providerType);
}
var sh=ss.getSheetByName(providerType());
sh.appendRow(e.values)
}
function isSheet(name) {
var ss=SpreadsheetApp.getActive();
var shts=ss.getSheets();
for(var i=0;i<shts.length;i++) {
if(shts[i].getName()==name) {
return true;
}
}
return false;
}