使用arrayformula连接空白单元格之间的范围

时间:2019-06-22 04:45:29

标签: google-sheets

我正在尝试连接值,直到到达空白单元格并对其进行迭代范围。

我知道我可以为一个像元使用JOIN(",",A2: INDEX(A2:A,MATCH(TRUE,(A2:A=""),0)-1))之类的东西,但是我想知道如何使用arrayformula将其应用于每个像元。

    A   B
1       A,B,C
2   A   
3   B   
4   C   
5       D,E
6   D   
7   E   
8       F
9   F   

A列是目标,B1列将应用arrayformula

1 个答案:

答案 0 :(得分:0)

B1:

=ARRAYFORMULA(TRANSPOSE(SPLIT(JOIN(,
  SPLIT(REGEXREPLACE(TEXTJOIN(",",0,A2:A11),",{2,}","™"),"™")&
  SPLIT(TEXTJOIN(,,IF((A1:A11="")*(A2:A12<>""),"♞","✦")),"♞")&"✦"
),"✦",1,0)))
  • A1必须为空白。
  • 使用多个JOIN/SPLIT组合,您可以在其中加入一个范围,然后拆分一个范围,以创建符合我们意愿的新范围。
  • 基本上,该公式将创建两个数组:

    • 由col A表示的数据数组

      A,B,C| E,D| F    
      
    • 对应的空间数组:上述每个数据之间所需的空间数

      ✦✦✦✦| ✦✦✦| ✦✦    
      
  • JOIN / SPLIT两个数组,然后对它们进行转换以获取col B数组。