excel 排列组合公式 · 100 种
excel 排列组合公式 并不高深,它是现代办公的“黑盒”利器。 从 =COMBIN(n, k) 到 PERMUT, 再到动态数组与 LET 封装,100 种排列组合公式 涵盖了数学、统计与数据驱动的核心思维。本文将带你拆解每一个公式,并延伸网友们最关心的周边知识。
=COMBIN(10,5) → 252 种组合。这就是预计算思维,无需递归。
=COMBIN(n, k) 返回从 n 个元素中选取 k 个的组合数。底层是数学推导,效率极高。
=PERMUT(n, k) 排列数,考虑顺序。例如 PERMUT(10,3)=720。
=FACT(n) 计算 n!,是排列组合的基础。例如 FACT(5)=120。
常与 COMBIN 嵌套使用,但直接使用 COMBIN 更高效。
当需求超过简单组合,LET 函数可定义变量,构建多步骤逻辑。例如计算 100 人选 50 人的组合期望。
=LET(n, 100, k, 50, comb, COMBIN(n,k), prob, BINOM.DIST(k,n,0.5,0), combprob)
将中间结果命名为 comb,避免重复计算。
=COMBIN(SEQUENCE(10), 3) 可批量生成组合数列表,配合 INDEX 生成所有组合。
利用表格特性:建立“生成器”表格,修改一个单元格即可刷新整个组合表,实现数据驱动。
当数据量超过百万行,Power Query 可合并、展开组合。例如从两个表中生成笛卡尔积,再筛选有效组合。
周边信息: 很多网友用 Power Query 做排列组合的自动化流水线,比传统公式快 10 倍。
VBA 可以写出递归回溯,生成所有组合并输出到单元格。适合复杂条件判断。
网友常用代码片段:For i=1 to n ... Next 嵌套循环输出排列。
周边: 将 VBA 封装成加载宏,一键调用,形成闭环。
利用 INDEX + MATCH + SEQUENCE 生成所有 k-组合。例如列出 5 选 2 的所有组合:
=INDEX(list, ...) 配合 MOD 与 INT 实现循环。
周边: 这种“生成器”表格修改基数自动更新,是数据专家的常用手段。
最早的组合函数,基于数学推导,沿用至今。
排列函数加入,同时支持负数容错。
LET 封装中间逻辑,动态数组自动扩展,组合表生成更简单。
排列组合进入低代码时代,数据清洗与组合一步到位。
先算人群组合,再复制到分析表。复用性让组合数变成资产。
COMBIN(30,5)=142,506,用 LET 存储中间结果,后续直接调用。
当 k>n 时,COMBIN 返回 0,保护模型不崩溃。这种容错让工作持续。
从简单公式到模块化宏,排列组合不再是算术,而是数据流水线。
此外,excel 排列组合公式 周边还包括:组合图表的可视化、条件格式标识重复组合、数据验证限制组合范围。网友还常问:如何用COMBIN计算彩票概率?如何用PERMUT排座位?这些都在我们的知识体系中。