一、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