【发布时间】:2016-01-27 20:35:40
【问题描述】:
电子表格中有一些单元格的内容由逗号或换行分隔。
123、876、456
列“C”是确定是否应将一行拆分为多行的列。
表单中的信息进入“表单提交”页面。
我们必须满足特定格式才能提交给我们的报告跟踪软件,该格式要求将问题编号(在 C 列中找到)与在 A:B、D:J 列中找到的信息分开成各自的行保持不变(见预期结果表)。
我找到了一个similar question,我们将它实施到了我们的 Google 表格中。
此脚本需要在单独的表格中将函数 =result('FormSubmission'!A2:J) 放置在我们希望显示数据的第一列/行中(请参阅“当前结果”表格,单元格 A2。)
这是我们正在使用的编码:
function result(range) {
var output2 = [];
for(var i = 0, iLen = range.length; i < iLen; i++) {
var s = range[i][2].split("\n");
for(var j = 0*/, jLen = s.length; j < jLen; j++) {
var output1 = [];
for(var k = 0, kLen = range[0].length; k < kLen; k++) {
if(k == 2) {
output1.push(s[j]);
} else {
output1.push(range[i][k]);
}
}
output2.push(output1);
}
}
return output2;
}
function results(range) {
var output2 = [];
for(var i = 0 /, iLen = range.length; i < iLen; i++) {
var s = range[i][2].split(",");
for(var j = 0 /, jLen = s.length; j < jLen; j++) {
var output1 = []/;
for(var k = 0, kLen = range[0].length; k < kLen; k++) {
if(k == 2 /) {
output1.push(s[j]);
} else {
output1.push(range[i][k]);
}
}
output2.push(output1);
}
}
return output2;
}
如果有人在表单中提交了多个用逗号分隔的问题编号,则该行需要拆分为多行,如“期望结果”表中所示。
【问题讨论】:
标签: google-apps-script google-sheets google-forms