Excel 에서 가능한 모든 순열을 생성하거나 나열하려면 어떻게 하나요?
예를 들어, XYZ 라는 세 문자가 있다고 가정해 보겠습니다. 이제 이 세 문자를 기반으로 가능한 모든 순열을 나열하여 XYZ, XZY, YXZ, YZX, ZXY, ZYX 와 같이 총 여섯 가지 결과를 얻고자 합니다. Excel 에서는 서로 다른 개수의 문자에 대해 어떻게 빠르게 모든 순열을 생성하거나 나열할 수 있을까요?
VBA 코드를 사용하여 문자 기반의 가능한 모든 순열을 생성하거나 나열하기
VBA 코드를 사용하여 문자 기반의 가능한 모든 순열을 생성하거나 나열하기
다음의 VBA 코드는 지정한 문자 수에 따라 모든 순열을 나열하는 데 도움이 될 수 있습니다。 아래 단계를 따라 진행하세요:
1.ALT + F11키를 누른 채로Microsoft Visual Basic for Applications창을 엽니다。
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。 문자를 입력한 후확인버튼을 클릭하면 활성 워크시트의 A 열에 가능한 모든 순열이 표시됩니다。 스크린샷 참조:

참고: 입력한 문자 길이가 8 자 이상인 경우, 순열의 수가 너무 많아 이 코드가 작동하지 않습니다。

여러 열에서 가능한 모든 조합을 나열하거나 생성합니다
여러 열의 데이터를 기반으로 가능한 모든 조합을 생성해야 하는 경우, 이 작업을 처리할 만한 좋은 방법이 없을 수도 있습니다。 하지만Kutools for Excel의모든 조합 나열유틸리티를 사용하면 가능한 모든 조합을 빠르고 쉽게 나열할 수 있습니다。지금 Kutools for Excel 다운로드하세요!

Kutools for Excel: 300 개 이상의 유용한 Excel 애드인과 함께, 30 일 동안 제한 없이 무료로 사용해 보세요。지금 다운로드하고 무료 체험하세요!
최고의 Office 생산성 도구
| 🤖 | KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행 | 코드 생성| 사용자 지정 수식 생성 | 데이터 분석 및 차트 생성| 향상된 함수 호출… |
| 인기 기능:찾기, 강조 표시 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 결합 또는 셀 제거 | 공식을 사용하지 않는 반올림... | |
| 슈퍼 LOOKUP:다중 조건 VLookup | 다중 값 VLookup | 여러 시트에서 VLookup | 퍼지 매치.... | |
| 고급 드롭다운 목록:드롭다운 목록 빠르게 생성 | 종속형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
| 열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교... | |
| 주요 기능:그리드 포커스 | 디자인 보기 |향상된 수식 표시줄 | 워크북 및 시트 관리자 | 자원 라이브러리(자동 텍스트)| 날짜 선택기 | 워크시트 병합 | 암호화/셀 해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。 | |
| 상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)| 50+차트유형(간트 차트, ...)| 40+ 실용적인수식(생일을 기준으로 나이 계산, ...)| 19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)| 12 변환도구(단어로 변환하기,환율 변환, ...)| 7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능 |
Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。
Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다
- Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
- 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
- 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!
모든 Kutools 애드인。 하나의 설치 프로그램
Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。
- 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
- 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
- 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
- 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
- 최고의 가성비— 개별 애드인 구매 대비 절약