Google Sheets拆分多值单元格为新行并保留公共字段
表格拆分与行扩展需求
背景
我有一个包含多列的源表格(示例表格中的Source B表),其中E列最多包含一个名称,F列可包含0到多个以逗号分隔的名称。
目标
当F列有值时,为每个名称(E列名称+F列每个拆分后的名称)新增一行,并复制公共字段;同时保留F列无值的行,最终结果比源表少一列。
已尝试方案
使用以下公式:
=ARRAYFORMULA(QUERY(IFERROR(SPLIT(FLATTEN(IF(ISBLANK(E3:F6);; A3:A6&"♦"&B3:B6&"♦"&C3:C6&"♦"&D3:E6&"♦"&E3:E6&"♦"&G3:G6&"♦"&H3:H6&"♦"&I3:I6&"♦"&J3:J6&"♦"&K3:K6&"♦"&L3:L6)); "♦")); "where Col3 <> 0"; 0))
存在问题
该公式应用于无多值的Source A表时:
- 虽能复制公共字段,但未显示F列值,仅重复E列值;
- 若源行F列无值,会新增空白行;
- 因K列仅一行有值,导致最终数据混乱;
- 对F列有无逗号分隔值无区分处理。
补充尝试
测试了另一脚本,虽能拆分单元格,但会将主客户重复显示在左列,拆分值在右列,而我希望所有客户显示在同一列。
内容的提问来源于stack exchange,提问作者user1128912
相关产品推荐
相关产品推荐

