我有一个单列范围(让我们称之为range1
),如下所示:
ABC
DEF
GEH
我还有另一个名为range2
的单列范围:
123
456
789
我想要一个输出以下两列范围的函数:
ABC | 123
ABC | 456
ABC | 789
DEF | 123
DEF | 456
DEF | 789
GEH | 123
GEH | 456
GEH | 789
我当前的解决方案
我有以下脚本:
function categorize_and_collate(range1, range2) {
output = []
for (i = 0; i < range1.length; i++) {
for (j = 0; j < range2.length; j++) {
if (range1[i] != "" && range2[j] != "") {
output.push([String(range1[i]), String(range2[j])])
}
}
}
return output
}
如果我们假设range1
为A1:A3
且range2
为B1:B3
,则以下内容为:
=categorize_and_collate("A1:A3", "B1:B3")
......输出我期待:
ABC | 123
ABC | 456
ABC | 789
DEF | 123
DEF | 456
DEF | 789
GEH | 123
GEH | 456
GEH | 789
最好的部分:如果我向任一列添加任意数量的行,此功能仍然有效。
答案 0 :(得分:0)
根据Google Spreadsheet Documentation ...没有。但你可以计算出所有这些方法!这意味着是的,脚本是唯一的方法。
由于您只需要组合两列,因此只有两个for循环。你有哪些。所以是的,你的脚本就像它获得的一样简单。干得好!