代码之家  ›  专栏  ›  技术社区  ›  Micah Pearce

使用多行值将列规格化为每个单元格的单个值

  •  -3
  • Micah Pearce  · 技术社区  · 7 年前

    在google电子表格中,我有一行如下

    A   A1
    B   "b1
         B1"
    C   C1
    

    其中b1和b1在同一个单元格中,但在两行上。(通过按ctrl-enter可以实现此目的)如何将其转换为第二列中的每个项在其自己行中的位置,例如:

    A   A1
    B   b1
    B   B1
    C   C1
    

    我正在寻找创建某种类型的功能,我可以将enmass应用于一个大型电子表格,因此手动操作是行不通的。

    1 回复  |  直到 7 年前
        1
  •  2
  •   ttarchala    7 年前
    =transpose(
       split(
         concatenate(
           arrayformula(
             split(A1:A3, char(10)) & "|")
         ),
       "|")
     )
    

    说明:从内部展开,首先应用拆分 char(10) (换行)到每个源单元格。这将产生一个二维数组,需要将其序列化回一维。这是通过concatenate()和另一个split()的组合完成的,最后是一个transpose()将其放回垂直位置。

    enter image description here