我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
文章通过一个实例来介绍数字排列组合公式的写法,感兴趣的朋友对排列组合公式稍微变通实现类似的需求。
需要排列组合公式的,多是对数字感兴趣的朋友,喜欢对数字排列组合。
本文介绍通过excel中编写VBA代码,掌握一些规律和算法来写排列组合公式。
数字排列组合公式的思路,可以这样理解:从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列。
下面通过一个实例来讲解如何通过排列组合公式完成数字排列组合。
比如从"9876543"中任意取5个数来进行排列组合,方法是:
新建一个工作表,按ALT+F11,打开VBE编辑器,插入——模块,在右边代码编辑框复制下面的代码,然后单击工具栏的“运行”命令,然后切换到工作表中,可以看见A列已经根据排列组合公式自动生成了所需要的所有数字排列组合。
Sub 排列组合公式()
Dim II%, I%, J%, K%, L%, M%
Dim Srt1$, Srt2$, Srt3$, Srt4$, Srt5$
Dim TStr1$, TStr2$, TStr3$, TStr4$
Dim t, arr()
Const FullStr = "9876543"
t = Timer
II = 0
For I = 1 To 7
Srt1 = Mid(FullStr, I, 1)
TStr1 = Replace(FullStr, Srt1, "")
For J = 1 To 6
Srt2 = Mid(TStr1, J, 1)
TStr2 = Replace(TStr1, Srt2, "")
For K = 1 To 5
Srt3 = Mid(TStr2, K, 1)
TStr3 = Replace(TStr2, Srt3, "")
For L = 1 To 4
Srt4 = Mid(TStr3, L, 1)
TStr4 = Replace(TStr3, Srt4, "")
For M = 1 To 3
Srt5 = Mid(TStr3, M, 1)
II = II + 1
ReDim Preserve arr(1 To II)
arr(II) = Srt1 & Srt2 & Srt3 & Srt4 & Srt5
Next
Next
Next
Next
Next
Range("A1:A" & II) = Application.Transpose(arr)
End Sub
相关文章
我们都知道当数据过多的时候,我们制作Excel图表就会显得非常的复杂,图表上面的内容就会特别多。Excel老玩家就会想到用切片器制作动态可变化的图表来显示。今天我们就来学习一下一个比......
2023-01-08
在工作中,可能许多朋友都会碰到一个情况,那就是工作簿和工作表数据的合并操作。如何将上百个工作簿快速合并到一个表格中,许多朋友可能会觉得不可思议。今天我们就来教大家学习一......
2023-01-08
今天在这里为你分享5个Excel文本函数,这些拆分和组合函数,你一定会用上的。①LEFT函数公式:=LEFT(A2,1)在Excel表格中,需要想要拆分汉字,想从哪里开始就从那哪里开始。首先选定单元格......
2023-01-08
相信大家也和我一样,才开始看到Excel可以当做翻译软件的时候会很好奇,这究竟是怎样做到的?其实,这个方法并不是很难,它是由一个函数公式而制作出来的,好了,首先我们一起来看看成......
2023-01-08
函数可以说是所用快捷方法中最为简单的一种方法,为什么很多人认为函数用起来很难了?主要是因为它拥有很长的函数公式,记不住。其实不管是学Excel函数,还是学习其他的一些快捷方法......
2023-01-08