You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets拆分Google Form多名称条目,实现一行一名需求

解决Google Sheets多名称拆分单行转多行问题

针对Google Form提交的包含多个名称的表格数据,要实现每行对应一个名称且保留其他列关联数据的需求,可以使用以下Google Sheets公式:

=ARRAYFORMULA(
  IFERROR(
    VSTACK(
      {"时间","姓名","邮箱"},
      QUERY(
        FLATTEN(
          BYROW(Sheet1!A2:C, LAMBDA(row, 
            IF(INDEX(row,2)="",,
              MAP(SPLIT(INDEX(row,2),"、"), LAMBDA(name, 
                JOIN("|", INDEX(row,1), name, INDEX(row,3))
              )
            )
          )
        ),
        "SELECT SPLIT(Col1,'|') WHERE Col1 IS NOT NULL", 0
      )
    )
  )
)

公式说明

  1. BYROW:遍历原始数据的每一行,对每行数据进行批量处理
  2. SPLIT(INDEX(row,2),"、"):将姓名列(第二列)按顿号拆分(如果你的表单用逗号/换行作为分隔符,替换成对应符号即可)
  3. MAP:把拆分后的每个姓名,和当前行的时间、邮箱拼接成用|分隔的字符串
  4. FLATTEN:将所有拼接后的字符串转为单列数据
  5. QUERY+SPLIT:把单列字符串拆回多列,同时过滤空值行
  6. VSTACK:添加自定义表头,和处理后的数据合并为完整表格
  7. IFERROR:处理空行或异常数据导致的公式错误

使用注意

  • 替换公式中的Sheet1!A2:C为你的实际数据范围
  • 表头{"时间","姓名","邮箱"}要和原始数据的表头完全对应
  • 根据表单中多名称的输入分隔符,修改SPLIT函数里的分隔符(比如表单用逗号分隔就改成",")

内容的提问来源于stack exchange,提问作者Jerome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 12:05:03