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

如何通过Excel查询生成A1:A6中6个数字取3个的所有组合(非排列)

生成Excel中6个数字取3个的所有非排列组合方案

以下是三种适配不同Excel版本的实用解决方案:

方法一:Excel 365/2021 动态数组公式

在空白单元格(如B1)直接输入以下公式,回车后会自动溢出所有组合:

=LET(
    data, A1:A6,
    n, COUNTA(data),
    k, 3,
    total, COMBIN(n, k),
    seq, SEQUENCE(total),
    first, INDEX(data, ROUNDUP((seq-1)*k/(n*(n-1)*(n-2))*(n-k+1),0)),
    second, INDEX(data, ROUNDUP((MOD((seq-1)*(n-1), n*(n-1)))/(n-1)+1,0)+(first<=INDEX(data, ROUNDUP((MOD((seq-1)*(n-1), n*(n-1)))/(n-1)+1,0)))*1),
    third, INDEX(data, ROUNDUP(MOD((seq-1)*(n-1)*(n-2), n*(n-1)*(n-2))/((n-1)*(n-2))+1,0)+(first<=INDEX(data, ROUNDUP(MOD((seq-1)*(n-1)*(n-2), n*(n-1)*(n-2))/((n-1)*(n-2))+1,0)))*1+(second<=INDEX(data, ROUNDUP(MOD((seq-1)*(n-1)*(n-2), n*(n-1)*(n-2))/((n-1)*(n-2))+1,0)))*1),
    CHOOSE({1,2,3}, first, second, third)
)

公式通过LET封装变量,自动计算并生成所有不重复的3元组合,无需手动下拉填充。

方法二:Power Query(全Excel版本适用)

  1. 选中A1:A6区域,点击数据选项卡 → 从表格/区域(旧版Excel选自表格),确认后进入Power Query编辑器。
  2. 点击添加列 → 自定义列,输入以下M语言代码:
= List.Combinations(Table.Column(#"更改的类型", "列1"), 3)

(若你的列名不是“列1”,替换为实际列名)
3. 选中生成的新列,点击转换 → 展开 → 到新列,将组合拆分为三列。
4. 点击关闭并上载,结果会导入到新工作表。

方法三:旧版Excel 嵌套公式(无动态数组)

从B1开始,分别在B1、C1、D1输入以下公式,下拉填充直到出现错误值:

  • B1:=INDEX($A$1:$A$6,INT((ROW(A1)-1)/COMBIN(5,2))+1)
  • C1:=INDEX($A$1:$A$6,INT((MOD(ROW(A1)-1,COMBIN(5,2)))/COMBIN(4,1))+INT((ROW(A1)-1)/COMBIN(5,2))+2)
  • D1:=INDEX($A$1:$A$6,MOD(MOD(ROW(A1)-1,COMBIN(5,2)),COMBIN(4,1))+INT((MOD(ROW(A1)-1,COMBIN(5,2)))/COMBIN(4,1))+INT((ROW(A1)-1)/COMBIN(5,2))+3)
    有效组合会自动显示,错误值代表组合已全部生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 12:17:21