KutoolsforOffice— 하나의 솔루션, 다섯 가지 강력한 도구。적은 노력으로 더 큰 성과。

Excel 에서 가능한 모든 순열을 생성하거나 나열하려면 어떻게 하나요?

작성자Xiaoyang수정 날짜

예를 들어, 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 자 이상인 경우, 순열의 수가 너무 많아 이 코드가 작동하지 않습니다。

입력한 문자 길이가 8자 이상이 아닙니다


여러 열에서 가능한 모든 조합을 나열하거나 생성합니다

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

Kutools로 모든 조합 나열

Kutools for Excel: 300 개 이상의 유용한 Excel 애드인과 함께, 30 일 동안 제한 없이 무료로 사용해 보세요。지금 다운로드하고 무료 체험하세요!

최고의 Office 생산성 도구

🤖KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행   |  코드 생성|  사용자 지정 수식 생성  |  데이터 분석 및 차트 생성|  향상된 함수 호출
인기 기능:찾기, 강조 표시 또는 중복 표시   |  빈 행 삭제   |  데이터 손실 없이 열 결합 또는 셀 제거   |  공식을 사용하지 않는 반올림...
슈퍼 LOOKUP:다중 조건 VLookup  |  다중 값 VLookup  |   여러 시트에서 VLookup   |   퍼지 매치....
고급 드롭다운 목록:드롭다운 목록 빠르게 생성   |  종속형 드롭다운 목록   |  다중 선택 드롭다운 목록....
열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교...
주요 기능:그리드 포커스   |  디자인 보기   |향상된 수식 표시줄   | 워크북 및 시트 관리자   |  자원 라이브러리(자동 텍스트)|  날짜 선택기   |  워크시트 병합  |  암호화/셀 해독   | 목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。
상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)|   50+차트유형(간트 차트, ...)|   40+ 실용적인수식(생일을 기준으로 나이 계산, ...)|   19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)|   12 변환도구(단어로 변환하기,환율 변환, ...)|   7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능
Kutools 를 선호하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및 40+개 이상의 언어를 지원합니다!

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 앱을 사용하는 팀에 이상적입니다。

ExcelWordOutlookTabsPowerPoint
  • 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
  • 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
  • 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
  • 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
  • 최고의 가성비— 개별 애드인 구매 대비 절약