如何在Excel中生成或列出所有可能的排列?
例如,我有三个字符XYZ,现在,我想基于这三个字符列出所有可能的排列,以获得六个不同的结果,例如:XYZ,XZY,YXZ,YZX,ZXY和ZYX。 在Excel中,如何根据不同的字符数快速生成或列出所有排列?
使用VBA代码根据字符生成或列出所有可能的排列
以下VBA代码可以帮助您根据字母的具体数量列出所有排列,请执行以下操作:
1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。
2。 点击 插页 > 模块,然后将以下代码粘贴到 模块 窗口。
VBA代码:列出excel中所有可能的排列
Sub GetString()
'Updateby Extendoffice
Dim xStr As String
Dim FRow As Long
Dim xScreen As Boolean
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
If Len(xStr) < 2 Then Exit Sub
If Len(xStr) >= 8 Then
MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
Exit Sub
Else
ActiveSheet.Columns(1).Clear
FRow = 1
Call GetPermutation("", xStr, FRow)
End If
Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
Dim i As Integer, xLen As Integer
xLen = Len(Str2)
If xLen < 2 Then
Range("A" & xRow) = Str1 & Str2
xRow = xRow + 1
Else
For i = 1 To xLen
Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
Next
End If
End Sub
3。 然后按 F5 键以运行此代码,并弹出一个提示框,提醒您输入要列出所有排列的字符,请参见屏幕截图:
4。 输入字符后,再单击 OK 按钮,所有可能的排列都显示在活动工作表的A列中。 看截图:
备注:如果输入的字符长度等于或大于8个字符,则此代码将无效,因为排列过多。
列出或生成多列中的所有可能组合
如果您需要基于多列数据生成所有可能的组合,也许没有一种处理任务的好方法。 但, Kutools for Excel's 列出所有组合 实用程序可以帮助您快速轻松地列出所有可能的组合。 点击下载Kutools for Excel!
Kutools for Excel:具有300多个方便的Excel加载项,可以在30天内免费试用,没有任何限制。 立即下载并免费试用!
最佳办公生产力工具
🤖 | Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用 Kutools 函数... |
热门特色: 查找、突出显示或识别重复项 | 删除空白行 | 合并列或单元格而不丢失数据 | 不使用公式进行四舍五入 ... | |
超级查询: 多条件VLookup | 多值VLookup | 跨多个工作表的 VLookup | 模糊查询 .... | |
高级下拉列表: 快速创建下拉列表 | 依赖下拉列表 | 多选下拉列表 .... | |
列管理器: 添加特定数量的列 | 移动列 | 切换隐藏列的可见性状态 | 比较范围和列 ... | |
特色功能: 网格焦点 | 设计图 | 大方程式酒吧 | 工作簿和工作表管理器 | 资源库 (自动文本) | 日期选择器 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊过滤器 (过滤粗体/斜体/删除线...)... | |
前 15 个工具集: 12 文本 工具 (添加文本, 删除字符,...) | 50+ 图表 类型 (甘特图,...) | 40+ 实用 公式 (根据生日计算年龄,...) | 19 插入 工具 (插入二维码, 从路径插入图片,...) | 12 转化 工具 (小写金额转大写, 货币兑换,...) | 7 合并与拆分 工具 (高级组合行, 分裂细胞,...) | ... 和更多 |
使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松
- 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
- 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
- 每天将您的工作效率提高50%,并减少数百次鼠标单击!
Sort comments by
#39829
This comment was minimized by the moderator on the site
0
0
#39869
This comment was minimized by the moderator on the site
Report
0
0
#32450
This comment was minimized by the moderator on the site
Report
0
0
#29918
This comment was minimized by the moderator on the site
0
0
#29367
This comment was minimized by the moderator on the site
0
0
#29084
This comment was minimized by the moderator on the site
0
0
#29085
This comment was minimized by the moderator on the site
Report
0
0
#25087
This comment was minimized by the moderator on the site
0
0
#25048
This comment was minimized by the moderator on the site
0
0
#25049
This comment was minimized by the moderator on the site
0
0
#21598
This comment was minimized by the moderator on the site
Report
0
0
#21554
This comment was minimized by the moderator on the site
0
0
#18509
This comment was minimized by the moderator on the site
0
0
There are no comments posted here yet