Excel中排列函数permut的使用方法
学习啦在线学习网Excel中排列函数permut的使用方法
如何在Excel中进行使用排列操作的呢?具体该怎么使用公式进行操作方法?今天,学习啦小编就教大家在Excel中排列函数permut的使用方法。
Excel中排列函数permut的使用步骤如下:
一、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
Excel中排列函数permut的使用方法相关文章: