Excel中排列函數(shù)permut的使用方法
Excel中排列函數(shù)permut的使用方法
如何在Excel中進(jìn)行使用排列操作的呢?具體該怎么使用公式進(jìn)行操作方法?今天,學(xué)習(xí)啦小編就教大家在Excel中排列函數(shù)permut的使用方法。
Excel中排列函數(shù)permut的使用步驟如下:
一、permut語法
PERMUT(number,number_chosen)
Number 表示對(duì)象個(gè)數(shù)的正整數(shù)。
Number_chosen 表示每個(gè)排列中對(duì)象個(gè)數(shù)的正整數(shù)。
參數(shù)說明:
如兩個(gè)參數(shù)為非整數(shù),將被截尾取整。
如果 number 或 number_chosen 為非數(shù)值類型,函數(shù) PERMUT 將返回錯(cuò)誤值 #VALUE!。
如果 number ≤ 0 或 number_chosen < 0,函數(shù) PERMUT 將返回錯(cuò)誤值 #NUM!。
如果 number < number_chosen,函數(shù) PERMUT 將返回錯(cuò)誤值 #NUM!。
該函數(shù)的功能與數(shù)學(xué)上的排列概念,是一致的,只不過,此函數(shù)僅返回排列個(gè)數(shù),而不會(huì)給出具體的排列方法。
二、PERMUT實(shí)例
比如,出3個(gè)隊(duì)員中,選出兩個(gè)隊(duì)員來排隊(duì),共有幾種排隊(duì)方法,這就是排列,與順序有關(guān),順序不同,則視為不同的排列方法。
我們可以使用公式: =PERMUT(3,2)即可得出結(jié)果,6
我們現(xiàn)在使用人工排列來理解此函數(shù)的排列方法,假設(shè)這三個(gè)隊(duì)員的名字分別為A、B、C
那么,排列的方案共為如此六種方法:
1、A,B 2、A,C 3、B,C 4、B,A 5、C,A 6、C,B
注意,該函數(shù)只返回排列的個(gè)數(shù),不會(huì)給出具體的排列方法。
如果你想了解排列的方案,只能使用VBA來實(shí)現(xiàn),請(qǐng)看代碼:
for i =1 to 6
for ii = 2 to 7
for iii = 3 to 8
for iiii = 4 to 9
cells(k+1,1) = i & ii & iii & iiii
k = k+1
next iiii,iii,ii,i
此代碼的功能為,從9個(gè)對(duì)象里面,任何選擇4個(gè)來排列的方案。
代碼在VBA環(huán)境下使用,會(huì)在當(dāng)前工作表中的單元格里面自動(dòng)填充出排列的方案。
下面,再給你看看其它的排列的VBA代碼:
Sub 排列例子1()
Dim a(1 To 7) As String '待排列字符
Dim result(1 To 7) As String '暫存結(jié)果
Dim i As Integer '循環(huán)變量
Set resCol = New Collection '初始化結(jié)果集合
a(1) = "A" '初始化待排列字符
a(2) = "B"
a(3) = "C"
a(4) = "D"
a(5) = "E"
a(6) = "F"
a(7) = "G"
Insert result, a '排列
Sheets(1).Columns("A:A").ClearContents '清理結(jié)果位置,準(zhǔn)備輸出結(jié)果
For i = 1 To resCol.Count '將結(jié)果輸出,因?yàn)樵贓xcel中,所以輸出到單元格
Sheets(1).Cells(i, 1) = resCol(i) '如果不是在Excel,可以輸出到需要的地方
Next
End Sub
Sub 排列例子2()
Dim a() As String '待排列字符
Dim result() As String '暫存結(jié)果
Dim Total As Integer '總共多少個(gè)字符
Dim i As Integer '循環(huán)變量
Total = Sheets(2).Cells(1, 1) '獲取總共的字符數(shù)
If Total > 26 Then
MsgBox "字符數(shù)太多,超出程序設(shè)計(jì)"
Exit Sub
End If
Set resCol = New Collection '初始化結(jié)果集合
ReDim a(1 To Total) '根據(jù)總字符數(shù)重新定義數(shù)組
ReDim result(1 To Total)
For i = 1 To Total
a(i) = Chr(i + 64) '初始化待排列字符
Next i
Insert result, a '排列
Sheets(2).Columns("B:B").ClearContents '清理結(jié)果位置,準(zhǔn)備輸出結(jié)果
For i = 1 To resCol.Count '將結(jié)果輸出,因?yàn)樵贓xcel中,所以輸出到單元格
Sheets(2).Cells(i, 2) = resCol(i) '如果不是在Excel,可以輸出到需要的地方
Next
End Sub
Excel中排列函數(shù)permut的使用方法相關(guān)文章: