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

求生成Single-A与Double-A合规状态全排列组合的表格公式

实现两类状态排列的笛卡尔积(自动生成全组合)

假设你的数据结构如下:

  • Single-A 数据(25列,351行)存放在Sheet1的A1:Y351(第一行为表头,数据从第二行开始)
  • Double-A 数据(12列,91行)存放在Sheet2的A1:L91(第一行为表头,数据从第二行开始)

以下是不同表格工具的实现方案:

方案1:Excel 365/2021 或 Google Sheets(动态数组版本)

利用动态数组函数自动生成所有组合,无需手动下拉填充:

生成Single-A的重复行(Sheet3的A-Y列)

在Sheet3的A2单元格输入公式,横向拖动到Y列:

=INDEX(Sheet1!$A:$Y, INT((SEQUENCE(351*91,1,0)/91))+1, COLUMN(A:A))

原理:通过SEQUENCE生成32041行的序列,INT((行号/91))+1让Single-A的每一行重复91次,对应Double-A的所有行。

生成Double-A的循环行(Sheet3的Z-AO列)

在Sheet3的Z2单元格输入公式,横向拖动到AO列:

=INDEX(Sheet2!$A:$L, MOD(SEQUENCE(351*91,1,0),91)+1, COLUMN(A:A))

原理:MOD(行号,91)+1让Double-A的行从1到91循环351次,和Single-A的每一行一一配对。

灵活适配行数(无需手动输入351/91)

如果后续行数有变动,用COUNTA自动获取数据行数:

# Single-A列公式
=INDEX(Sheet1!$A:$Y, INT((SEQUENCE(COUNTA(Sheet1!A:A)*COUNTA(Sheet2!A:A),1,0)/COUNTA(Sheet2!A:A)))+1, COLUMN(A:A))

# Double-A列公式
=INDEX(Sheet2!$A:$L, MOD(SEQUENCE(COUNTA(Sheet1!A:A)*COUNTA(Sheet2!A:A),1,0),COUNTA(Sheet2!A:A))+1, COLUMN(A:A))

方案2:旧版Excel(非动态数组版本)

对于不支持动态数组的Excel版本,用ROW和MOD实现:

生成Single-A的重复行(Sheet3的A-Y列)

在Sheet3的A2单元格输入公式,横向拖动到Y列后,下拉到32041行:

=INDEX(Sheet1!$A:$Y, INT((ROW()-2)/91)+2, COLUMN(A:A))

(注:公式中ROW()-2是因为数据从第二行开始,若表头在第一行,数据从第二行起,需对应调整偏移量)

生成Double-A的循环行(Sheet3的Z-AO列)

在Sheet3的Z2单元格输入公式,横向拖动到AO列后,下拉到32041行:

=INDEX(Sheet2!$A:$L, MOD(ROW()-2,91)+2, COLUMN(A:A))

验证方法

  • 第91行:对应Single-A第1行 + Double-A第91行
  • 第92行:对应Single-A第2行 + Double-A第1行
  • 第32041行:对应Single-A第351行 + Double-A第91行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 18:01:28