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

Google Sheets逗号分隔值实现Cartesian / Cross Join无脚本方案咨询

Google Sheets无脚本实现多行多属性笛卡尔积方案

核心公式

假设你的6个属性列分布在A-F列,第1行为表头,第2行起为父商品数据,在结果列首个单元格(如G2)输入以下溢出公式即可自动生成整列结果,无需逐行下拉:

=BYROW(A2:F,LAMBDA(row,IF(COUNTA(row)=0,,
  LET(
    attrs,BYCOL(row,LAMBDA(col,IF(col="",{""},SPLIT(col,",",1,1)))),
    reduce_base,CHOOSEROWS(attrs,1),
    rest_attrs,DROP(attrs,1),
    combos,REDUCE(reduce_base,rest_attrs,LAMBDA(prev,curr,
      TOCOL(prev&"|"&TOROW(curr),3)
    )),
    SUBSTITUTE(combos,"|",",")
  )
))

功能说明

  • 自动兼容空属性字段:若某行的特定字段无取值,公式会自动将其作为空值参与拼接,不会中断计算
  • 自动处理逗号分隔属性:无需提前手动拆分字段,公式内置拆分逻辑,自动识别xs,s,m,l,xl这类格式的属性列表
  • 整列自动生效:解决了单行公式下拉后失效的问题,只需输入一次即可处理所有父商品行

自定义调整方式

  • 若你的属性列范围不是A2:F,直接替换公式中的范围参数即可
  • 若需要调整最终属性组合的分隔符,修改最后一行SUBSTITUTE(combos,"|",",")里的逗号为你需要的分隔符即可
  • 若属性值本身带|字符,可将公式中临时拼接用的|替换为其他不会出现在属性值里的特殊字符即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:45:02