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

Google Sheets提取两字符间文本及拆分单列动态矩阵问题咨询

Google Sheets单列多产品索赔数据拆分方案

你可以直接使用下方动态数组公式实现整表自动拆分,输入公式后会自动溢出所有结果,无需手动下拉:

=LET(
  // 读取非空原始数据,可修改为你的原始数据所在工作表范围
  raw, FILTER('原始数据表'!A2:F, '原始数据表'!A2:A<>""),
  // 提取需要保留的公共字段:此处默认1=客户、2=PO号、3=索赔原因,可按需调整列序号
  public_fields, CHOOSECOLS(raw,1,2,3),
  // 提取逗号分隔的多产品字符串所在列,此处默认是第5列(E列)
  product_list_col, CHOOSECOLS(raw,5),
  // 处理F列内容,提取冒号后的有效信息,和你现有逻辑一致
  extra_field, BYROW(CHOOSECOLS(raw,6), LAMBDA(f_val, IFERROR(REGEXEXTRACT(f_val,": (.+)"),""))),
  // 逐行拆分多产品条目,生成多行结构
  split_result, BYROW(SEQUENCE(ROWS(raw)), LAMBDA(row_idx,
    LET(
      curr_public, INDEX(public_fields,row_idx,0),
      curr_products, TOROW(SPLIT(INDEX(product_list_col,row_idx,1), ","), 1),
      curr_extra, INDEX(extra_field,row_idx,1),
      product_count, COLUMNS(curr_products),
      // 公共字段重复对应产品数,拼接每个产品条目和额外字段
      HSTACK(
        MAKEARRAY(product_count, COLUMNS(curr_public), LAMBDA(r,c, INDEX(curr_public,1,c))),
        TRANSPOSE(curr_products),
        MAKEARRAY(product_count,1, LAMBDA(r,c, curr_extra))
      )
    )
  )),
  // 合并所有拆分结果,添加表头,可按需修改表头内容
  VSTACK({"客户","PO号","索赔原因","单产品信息","F列提取内容"}, TOCOL(split_result, 2))
)

按需调整说明

  • 若你的原始数据字段位置和默认参数不同,修改CHOOSECOLS对应的列序号即可
  • 若产品之间的分隔符不是逗号,修改SPLIT函数内的分隔符参数即可
  • 若拆分后的单产品信息需要进一步拆分为SKU名称、货号、UoM、数量4个字段,假设单产品信息内部用/分隔,可将公式中TRANSPOSE(curr_products)替换为BYROW(TRANSPOSE(curr_products), LAMBDA(p, SPLIT(p, "/"))),同步修改对应表头即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 14:06:07