如何使用Excel来对字符串进行排列组合?

发布网友

我来回答

2个回答

热心网友

excel对几个字母进行排列组合在A1:A26输入a~z,然后输入以下公式,并向下填充公式:

=OFFSET(A$1,INT((ROW(A1)-1)/(26*26*26)),)&OFFSET(A$1,MOD(INT((ROW(A1)-1)/(26*26)),26),)&OFFSET(A$1,MOD(INT((ROW(A1)-1)/26),26),)&OFFSET(A$1,MOD(ROW(A1)-1,26),)

详见附图

1、Excel 的一般用途包括:会计专用、预算、帐单和销售、报表、计划跟踪 、使用日历等。

2、Excel中大量的公式函数可以应用选择,使用Microsoft Excel可以执行计算,分析信息并管理电子表格或网页中的数据信息列表与数据资料图表制作,可以实现许多方便的功能,带给使用者方便。

3、与其配套组合的有:Word、PowerPoint、Access、InfoPath及Outlook,Publisher。

热心网友

只有用VBA循环来实现,函数是没法实现的

Sub plzh()
Dim a%, b%, c%, d%, e%, n%(1 To 5), arr(), i%, brr()
ReDim arr(1 To 120, 1 To 1)
Range("A1").CurrentRegion.ClearContents
brr = Array("abc", "bcd", "efg", "ABC", "S")
For a = 1 To 5
    n(a) = 1
        For b = 1 To 5
            If n(b) = 0 Then
                n(b) = 1
                    For c = 1 To 5
                        If n(c) = 0 Then
                            n(c) = 1
                                For d = 1 To 5
                                    If n(d) = 0 Then
                                        n(d) = 1
                                            For e = 1 To 5
                                                If n(e) = 0 Then
                                                    i = i + 1
                                                    arr(i, 1) = brr(a - 1) & brr(b - 1) & brr(c - 1) & brr(d - 1) & brr(e - 1)
                                                End If
                                            Next e
                                        n(d) = 0
                                    End If
                                Next d
                            n(c) = 0
                        End If
                    Next c
                n(b) = 0
            End If
        Next b
    n(a) = 0
Next a
[A1].Resize(UBound(arr), 1) = arr
End Sub

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com