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

我有5个字符串,分别是abc、bcd、efg、ABC、S,想用Excel对这五个字符串进行排列组合,比如第一种排列组合就是abcbcdefgABCS,第二种排列组合是ab... 我有5个字符串,分别是abc、bcd、efg、ABC、S,想用Excel对这五个字符串进行排列组合,比如第一种排列组合就是abcbcdefgABCS,第二种排列组合是abcABCSbcdefg,请问如何用Excel的函数或者公式来实现得到所有排列组合的目的呢? 展开
 我来答
草原上之狼
高粉答主

2018-05-25 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:3909万
展开全部

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。

lala9214
2018-05-25 · TA获得超过837个赞
知道小有建树答主
回答量:1598
采纳率:66%
帮助的人:392万
展开全部

只有用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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式