我正在使用Google表格,并且正在寻找一个可以将列表分成两列并在另一列中交替排列的arrayformula。该工作表包含约5,000行,每行包含超过35个字符。

google-sheets - Google表格-使用arrayformula(超过50,000个字符)将两列转换为一列-LMLPHP

我尝试了这个:

=transpose(split(join(" ", query(transpose(B5:C),,50000)), " "))


但是后来我得到了这个消息:

google-sheets - Google表格-使用arrayformula(超过50,000个字符)将两列转换为一列-LMLPHP

请在这里查看工作表:

https://docs.google.com/spreadsheets/d/11T1Roj1trviOSiiTZS292-4l3oODid7KLi9oGz3Z66o/edit#gid=0

最佳答案

假设您的2列是A和B,此公式将“交织”它们:

=query(
  sort(
    {arrayformula({row(A1:A3)*2, A1:A3});
     arrayformula({row(B1:B3)*2+1, B1:B3})}
  ),
  "select Col2")


google-sheets - Google表格-使用arrayformula(超过50,000个字符)将两列转换为一列-LMLPHP

说明,从内部展开公式:


每个值都会获得唯一的数字,具体取决于其行号乘以2(第二列为+1)
一切都根据此数字排序
仅提取第二列作为结果。

10-07 20:15