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