国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Excel > 正文

Excel排列函數permut

2024-08-23 19:53:44
字體:
來源:轉載
供稿:網友

  一、permut語法

  PERMUT(number,number_chosen)

  Number 表示對象個數的正整數。

  Number_chosen 表示每個排列中對象個數的正整數。

  參數說明:

  如兩個參數為非整數,將被截尾取整。

  如果 number 或 number_chosen 為非數值類型,函數 PERMUT 將返回錯誤值 #VALUE!。

  如果 number ≤ 0 或 number_chosen < 0,函數 PERMUT 將返回錯誤值 #NUM!。

  如果 number < number_chosen,函數 PERMUT 將返回錯誤值 #NUM!。

  該函數的功能與數學上的排列概念,是一致的,只不過,此函數僅返回排列個數,而不會給出具體的排列方法。

  二、PERMUT實例

  比如,出3個隊員中,選出兩個隊員來排隊,共有幾種排隊方法,這就是排列,與順序有關,順序不同,則視為不同的排列方法。

  我們可以使用公式: =PERMUT(3,2)即可得出結果,6

  我們現在使用人工排列來理解此函數的排列方法,假設這三個隊員的名字分別為A、B、C

  那么,排列的方案共為如此六種方法:

  1、A,B 2、A,C 3、B,C 4、B,A 5、C,A 6、C,B

  注意,該函數只返回排列的個數,不會給出具體的排列方法。

  如果你想了解排列的方案,只能使用VBA來實現,請看代碼:

  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個對象里面,任何選擇4個來排列的方案。

  代碼在VBA環境下使用,會在當前工作表中的單元格里面自動填充出排列的方案。

  下面,再給你看看其它的排列的VBA代碼:

  Sub 排列例子1()

  Dim a(1 To 7) As String '待排列字符

  Dim result(1 To 7) As String '暫存結果

  Dim i As Integer '循環變量

  Set resCol = New Collection '初始化結果集合

  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 '清理結果位置,準備輸出結果

  For i = 1 To resCol.Count '將結果輸出,因為在Excel中,所以輸出到單元格

  Sheets(1).Cells(i, 1) = resCol(i) '如果不是在Excel,可以輸出到需要的地方

  Next

  End Sub

  Sub 排列例子2()

  Dim a() As String '待排列字符

  Dim result() As String '暫存結果

  Dim Total As Integer '總共多少個字符

  Dim i As Integer '循環變量

  Total = Sheets(2).Cells(1, 1) '獲取總共的字符數

  If Total > 26 Then

  MsgBox "字符數太多,超出程序設計"

  Exit Sub

  End If

  Set resCol = New Collection '初始化結果集合

  ReDim a(1 To Total) '根據總字符數重新定義數組

  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 '清理結果位置,準備輸出結果

  For i = 1 To resCol.Count '將結果輸出,因為在Excel中,所以輸出到單元格

  Sheets(2).Cells(i, 2) = resCol(i) '如果不是在Excel,可以輸出到需要的地方

  Next

  End Sub


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霞浦县| 石城县| 云浮市| 蒲城县| 浠水县| 鄂尔多斯市| 阳山县| 宁夏| 金平| 静安区| 治多县| 霍州市| 盱眙县| 新田县| 兴安县| 云龙县| 淳化县| 三明市| 乌拉特后旗| 平遥县| 鄯善县| 鹰潭市| 博爱县| 静海县| 乌兰浩特市| 威远县| 额尔古纳市| 大埔区| 林口县| 苏尼特左旗| 石阡县| 彝良县| 腾冲县| 罗田县| 土默特右旗| 永春县| 威远县| 凤阳县| 东阿县| 卢氏县| 商河县|