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

无需宏:Google Sheets两列值所有组合拼接公式求助

Google Sheets 实现两列数据所有可能组合拼接

你之前用的=TOCOL(A1:A3&TOROW(B1:B3))无法得到笛卡尔积组合,原因是这个公式会按位置一一对应拼接两列元素,而非生成所有交叉组合。比如A对应B1的1,B对应B2的2,C对应B3的空值,最终只能得到A1、B2、C(空),不符合需求。

可行公式方案

方案1:指定明确数据范围

如果已知B列有效数据是B1:B2(无空值),直接用以下公式:

=FLATTEN(ARRAYFORMULA(A1:A3&TRANSPOSE(B1:B2)))
  • TRANSPOSE(B1:B2)把B列的1、2转成横向数组;
  • ARRAYFORMULA(A1:A3&...)让A列每个元素分别和转后的B列元素拼接,生成二维数组;
  • FLATTEN把二维数组转成单列,得到所有组合。

方案2:自动过滤空值(通用版)

如果列中存在不确定的空单元格,用FILTER自动提取非空数据,避免无效组合:

=FLATTEN(ARRAYFORMULA(FILTER(A1:A3,A1:A3<>"")&TRANSPOSE(FILTER(B1:B3,B1:B3<>""))))

这个公式会自动忽略A、B列中的空单元格,只对有值的元素生成所有交叉拼接组合。

结果验证

上述公式都会输出你期望的结果:

A1
A2
B1
B2
C1
C2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:27:12