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

Google Sheets中如何用公式基于行列单元格生成配对组合列表?

Google Sheets 生成两类值全量笛卡尔积配对方案

你的现有表格结构符合做笛卡尔积运算的基础布局:

  • 横向属性(颜色):B1:D1 单元格依次为 Red、Green、Yellow
  • 纵向属性(水果):A2:A4 单元格依次为 Apple、Grape、Pear

不需要逐行手动输入配对,单个数组公式就能一次性输出9行2列的全配对结果,你只需要选中要放置结果的空白区域起始单元格(比如F1),输入以下公式按回车即可:

=ARRAYFORMULA(SPLIT(FLATTEN(A2:A4&"|"&TRANSPOSE(B1:D1)),"|"))

公式输入完成后直接按回车即可,不需要提前选中9行2列的空白区域,Google Sheets的数组溢出功能会自动填充所有结果单元格

公式各部分逻辑:

  • TRANSPOSE(B1:D1):把横向排列的3个颜色值转成纵向排列,才能和纵向的水果值做批量拼接
  • A2:A4&"|"&TRANSPOSE(B1:D1):生成3行3列的二维数组,每个单元格存储「水果|颜色」格式的拼接字符串,覆盖所有配对组合
  • FLATTEN():把3*3的二维数组拍平成9行1列的单列数组,每一行对应一组配对的拼接值
  • SPLIT(...,"|"):按分隔符|把单列的拼接值拆成两列,左列为水果、右列为颜色
  • 最外层ARRAYFORMULA():触发数组批量计算逻辑,不需要逐单元格填充公式,一次输入直接返回全部结果

如果后续你需要新增水果或者颜色条目,可以把公式里的固定范围改成动态引用,实现新增条目后自动更新配对结果,修改后的公式如下:

=ARRAYFORMULA(SPLIT(FLATTEN(
  FILTER(A2:A,A2:A<>"")&"|"&TRANSPOSE(FILTER(1:1,1:1<>""))
),"|"))

这个版本会自动识别A列从第2行开始的所有非空水果值、第1行从B列开始的所有非空颜色值,自动生成全量配对,不需要手动调整引用范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 10:09:15