Google sheets 两个范围内的独特组合

Google sheets 两个范围内的独特组合,google-sheets,Google Sheets,我有一个单列范围(我们称之为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) {

我有一个单列范围(我们称之为
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
}
…我希望:

ABC | 123
ABC | 456
ABC | 789
DEF | 123
DEF | 456
DEF | 789
GEH | 123
GEH | 456
GEH | 789
最好的部分:如果我在任一列中添加任意数量的行,该函数仍然有效

  • 是否有一种非基于脚本的方法来实现这一点
  • 如果剧本是唯一的出路,那么这是实现这一点的最佳方式吗
  • 根据。。。不。但是你可以计算所有的方法来做到这一点!这意味着是的,脚本是唯一的方法

    因为您只需要合并两列,所以只有两个for循环。你有。所以,是的,你的剧本非常简单。干得好

    根据。。。不。但是你可以计算所有的方法来做到这一点!这意味着是的,脚本是唯一的方法

    因为您只需要合并两列,所以只有两个for循环。你有。所以,是的,你的剧本非常简单。干得好

    ABC | 123
    ABC | 456
    ABC | 789
    DEF | 123
    DEF | 456
    DEF | 789
    GEH | 123
    GEH | 456
    GEH | 789