Excel如何使用组合函数combin
一、combin组合函数的语法
函数功能:计算从给定数目的对象集合中提取若干对象的组合数。
    利用函数COMBIN可以确定一组对象所有可能的组合数。
    语法
    COMBIN(number,number_chosen)
    Number 为对象的总数量。
    Number chosen 为每一组合中对象的数量。
    说明
    数字参数截尾取整。
    如果参数为非数值型,则函数 COMBIN 返回错误值 #VALUE!。如果 number < 0、number_chosen <0 或 number < number_chosen,COMBIN 返回错误值 #NUM!。不论其内部顺序,对象组合是对象整体的任意集合或子集。组合与排列不同,排列数与对象内部顺序有关。组合数计算公式如下,式中 number = n ,number_chosen = k:
    
    二、COMBIN函数实例
比如,要想从6个队员中,选出2个队员参加比赛,那么,总的有几种组合,即总的有几种可能?
    我们可以使用函数公式:=COMBIN(6,2)就可以得到组合的个数,函数返回15;
    也就是说,从6个队员中,选出两个队员参加比赛,总的有15种搭配。
    下面,再说个简单例子:
    有三个球,分别为红、绿、蓝,现在要从这三个球中选出两个球来,共有几种搭配、组合?
    使用函数就可以得到:=COMBIN(3,2)函数返回的结果是3;
    注意,COMBIN函数只返回总的组合数,并未给出具体到底是哪几种组合,下面,我们人工给出如上三个球的组合方案,分别是:
    1、红、绿2、红、蓝3、绿蓝就这三种。
    
    三、COMBIN的知识扩展
如果你想知道或获得组合数中的每一种组合方式,得使用VBA了,下面提供几种代码,供你参考。
    
    ①combin(6,2)的组合
    Sub ListCombin()
    Dim x, y As Integer
    For x = 1 To 5
    For y = x + 1 To 6
    ActiveCell.FormulaR1C1 = x & ", " & y
    ActiveCell.Offset(1, 0).Select
    Next y
    Next x
    End Sub
    
    ②combin(8,6)的组合
    Sub ListCombin()
    Dim h, i, j, k, l, m As Integer
    For h = 1 To 3
    For i = h + 1 To 4
    For j = i + 1 To 5
    For k = j + 1 To 6
    For l = k + 1 To 7
    For m = l + 1 To 8
    ActiveCell.FormulaR1C1 = h & "-" & i & "-" & j & "-"& k & "-" & l & "-" & m
    ActiveCell.Offset(1, 0).Select
    Next m
    Next l
    Next k
    Next j
    Next i
    Next h
    End Sub

