我正在寻找一种基于两个不同表来重复记录/行的方法,如下所示:
表格1:
Col1 Col2
A 101
B 102
C 103
表2:
Col3
1
2
3
重复结果:
Col1 Col2 Col3
A 101 1
B 102 1
C 103 1
A 101 2
B 102 2
C 103 2
A 101 3
B 102 3
C 103 3
在“ Microsoft Access”或SQL中,我可以通过使用SQL选择字符串来快速完成此操作:
SELECT table1.column1, table2.column1
FROM table1, table2
但我想知道是否有任何方法可以在Google表格中使用QUERY功能等。
您可以通过在Google Apps脚本中创建的自定义函数来完成此操作。为此,请按照下列步骤操作:
function REPEAT(table1, table2) {
var output = [];
output.push([]);
for (var i = 0; i < table1[0].length; i++) {
output[0].push(table1[0][i]);
}
for (var i = 0; i < table2[0].length; i++) {
output[0].push(table2[0][i]);
}
for (var i = 1; i < table2.length; i++) {
for (var j = 1; j < table1.length; j++) {
output.push([]);
for (var k = 0; k < table1[j].length; k++) {
output[output.length - 1].push(table1[j][k]);
}
for (var k = 0; k < table2[i].length; k++) {
output[output.length - 1].push(table2[i][k]);
}
}
}
return output;
}
希望对您有所帮助。
好答案!效果很好。PS。在此函数中,表的第一行将仅用于标题。