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