如何使用Excel来对字符串进行排列组合?
我有5个字符串,分别是abc、bcd、efg、ABC、S,想用Excel对这五个字符串进行排列组合,比如第一种排列组合就是abcbcdefgABCS,第二种排列组合是ab...
我有5个字符串,分别是abc、bcd、efg、ABC、S,想用Excel对这五个字符串进行排列组合,比如第一种排列组合就是abcbcdefgABCS,第二种排列组合是abcABCSbcdefg,请问如何用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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询