메인 컨텐츠로 가기

Excel에서 가능한 모든 조합을 나열하거나 생성하는 방법은 무엇입니까?

다음과 같은 두 개의 데이터 열이 있다고 가정 해 보겠습니다. 이제 왼쪽 스크린 샷에 표시된 두 값 목록을 기반으로 가능한 모든 조합 목록을 생성하려고합니다. 값이 적은 경우 모든 조합을 하나씩 나열 할 수 있지만 가능한 조합을 나열하는 데 필요한 여러 값이있는 열이 여러 개인 경우 Excel에서이 문제를 처리하는 데 도움이되는 몇 가지 빠른 트릭이 있습니다. .

수식을 사용하여 두 목록에서 가능한 모든 조합을 나열하거나 생성합니다.

VBA 코드를 사용하여 세 개 이상의 목록에서 가능한 모든 조합을 나열하거나 생성합니다.

강력한 기능으로 여러 목록에서 가능한 모든 조합을 나열하거나 생성합니다.


수식을 사용하여 두 목록에서 가능한 모든 조합을 나열하거나 생성합니다.

다음의 긴 수식은 두 목록 값의 가능한 모든 조합을 빠르게 나열하는 데 도움이 될 수 있습니다. 다음과 같이하십시오.

1. 아래 수식을 빈 셀에 입력하거나 복사합니다.이 경우에는 D2 셀에 입력 한 다음 키를 누릅니다. 엔터 버튼 결과를 얻으려면 키, 스크린 샷 참조 :

=IF(ROW()-ROW($D$2)+1>COUNTA($A$2:$A$5)*COUNTA($B$2:$B$4),"",INDEX($A$2:$A$5,INT((ROW()-ROW($D$2))/COUNTA($B$2:$B$4)+1))&"-"&INDEX($B$2:$B$4,MOD(ROW()-ROW($D$2),COUNTA($B$2:$B$4))+1))

주의 사항: 위의 공식에서 $ A $ 2 : $ A $ 5 첫 번째 열 값의 범위이고 $ B $ 2 : $ B $ 4 가능한 모든 조합을 나열하려는 두 번째 목록 값의 범위입니다. $ D $ 2 수식을 넣은 셀이며 필요에 따라 셀 참조를 변경할 수 있습니다.

2. 그런 다음 D2 셀을 선택하고 빈 셀이 표시 될 때까지 채우기 핸들을 셀 아래로 드래그하면 두 목록 값을 기반으로 가능한 모든 조합이 나열됩니다. 스크린 샷보기 :


VBA 코드를 사용하여 세 개 이상의 목록에서 가능한 모든 조합을 나열하거나 생성합니다.

위의 공식은 적용하기가 다소 어려울 수 있으며, 컬럼 데이터가 여러 개인 경우 수정이 번거로울 수 있습니다. 여기서는 빠르게 처리 할 수있는 VBA 코드를 소개하겠습니다.

1. 누르고 ALT + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 다음 코드를 모듈 창문.

VBA 코드 : 3 개 또는 여러 열의 모든 조합 생성

Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3 As Range
Dim xRg  As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Set xDRg1 = Range("A2:A5")  'First column data
Set xDRg2 = Range("B2:B4")  'Second column data
Set xDRg3 = Range("C2:C4")  'Third column data
xStr = "-"   'Separator
Set xRg = Range("E2")  'Output cell
For xFN1 = 1 To xDRg1.Count
    xSV1 = xDRg1.Item(xFN1).Text
    For xFN2 = 1 To xDRg2.Count
        xSV2 = xDRg2.Item(xFN2).Text
      For xFN3 = 1 To xDRg3.Count
        xSV3 = xDRg3.Item(xFN3).Text
        xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3
        Set xRg = xRg.Offset(1, 0)
       Next
    Next
Next
End Sub
주의 사항: 위 코드에서 A2 : A5, B2 : B4, C2 : C4 사용하려는 데이터 범위입니다. E2 결과를 찾을 출력 셀입니다. 더 많은 열의 모든 조합을 얻으려면 필요에 따라 코드에 다른 매개 변수를 변경하고 추가하십시오.

3. 그런 다음 F5 키를 눌러이 코드를 실행하면 3 개 열의 모든 조합이 한 번에 생성됩니다 (스크린 샷 참조).


강력한 기능으로 여러 목록에서 가능한 모든 조합을 나열하거나 생성합니다.

가능한 조합을 나열해야하는 목록 값이 여러 개인 경우 코드를 수정하기 어려울 수 있습니다. 여기에서 강력한 도구를 추천 할 수 있습니다. Excel 용 Kutools, 그것은 편리한 기능을 포함합니다 모든 조합 나열 주어진 데이터 목록을 기반으로 가능한 모든 조합을 빠르게 나열 할 수 있습니다.

방문 꿀팁:이것을 적용하려면 모든 조합 나열 먼저 기능을 다운로드해야합니다. Excel 용 Kutools을 클릭 한 다음 기능을 빠르고 쉽게 적용하십시오.

설치 후 Excel 용 Kutools, 다음과 같이하십시오.

1. 쿠툴 > 끼워 넣다 > 모든 조합 나열, 스크린 샷 참조 :

2. 에서 모든 조합 나열 대화 상자에서 아래 데모와 같이 작업을 수행하십시오.

3. 그런 다음 지정된 모든 값과 구분 기호가 대화 상자에 나열되었습니다. 스크린 샷을 참조하십시오.

4. 그런 다음 Ok 버튼을 클릭하면 결과를 출력 할 셀을 선택하라는 메시지 상자가 나타납니다. 스크린 샷을 참조하십시오.

5. 딸깍 하는 소리 OK, 주어진 목록을 기반으로 가능한 모든 조합이 다음 스크린 샷과 같이 워크 시트에 생성되었습니다.

지금 Excel 용 Kutools를 다운로드하려면 클릭하십시오!


더 많은 관련 기사 :

  • 3 개 또는 여러 열의 모든 조합 생성
  • 3 개의 데이터 열이 있다고 가정하면 아래 스크린 샷과 같이이 3 개의 열에있는 모든 데이터 조합을 생성하거나 나열하려고합니다. Excel에서이 작업을 해결하는 좋은 방법이 있습니까?
  • 주어진 합계와 같은 모든 조합 찾기
  • 예를 들어, 다음과 같은 숫자 목록이 있는데, 이제 목록의 숫자 조합이 480이되는지 알고 싶습니다. 다음 스크린 샷에서 동일한 값을 합산 할 수있는 480 개 그룹이 있음을 알 수 있습니다. 300 + 60 + 120, 300 + 60 + 40 + 80 등과 같은 XNUMX까지.이 기사에서는 Excel에서 특정 값을 합산하는 셀을 찾는 몇 가지 방법에 대해 설명합니다.
  • 가능한 모든 순열 생성 또는 나열
  • 예를 들어 XYZ 세 문자가 있습니다. 이제이 세 문자를 기반으로 가능한 모든 순열을 나열하여 XYZ, XZY, YXZ, YZX, ZXY 및 ZYX와 같은 XNUMX 개의 다른 결과를 얻고 싶습니다. Excel에서 다른 문자 수를 기반으로 모든 순열을 어떻게 빠르게 생성하거나 나열 할 수 있습니까?
  • 가능한 모든 4 자리 조합 목록 생성
  • 어떤 경우에는 숫자 4에서 0까지 가능한 모든 9 자리 조합의 목록을 생성해야 할 수도 있습니다. 즉, 0000, 0001, 0002… 9999의 목록을 생성한다는 의미입니다. Excel에서 목록 작업을 빠르게 해결하기 위해 몇 가지 트릭을 소개합니다.

 

최고의 사무 생산성 도구

인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

kte 탭 201905


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!

 

Comments (42)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
como que poderia gerar uma lista de combinações de nomes no LibreOffice?
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hello, Johansson

Sorry, the methods in this article are only applied for Microsoft Excel.
Thank you!
This comment was minimized by the moderator on the site
Hej alle sammen

Jeg håber at i kan hjælpe med dette.

Jeg har en af de gamle Bastalåse kodelåse med 6 knapper, hvor man kan trykke knapperne ind, lade dem være i neutral eller trække dem ud.

Låsen var åben da jeg købte den, så jeg låste den i håb om at jeg kunne gå kombinationerne igennem.

Men jeg har lidt problemer med at få nedskrevet samtlige kombinationer (729 så vidt jeg kan regne ud).

Er der en der vil hjælpe mig med med dette? Evt. kan man kalde de 3 indstillingsmuligheder pr. knap for: 1-2-3, 1-0-2, eller I-N-U (ind-neutral-ud).


Krydser finger og siger på forhånd mange tak hvis jeg kan få låsen op, det er sådan lidt nostalgi.

Mvh

Nicolaj
This comment was minimized by the moderator on the site
No 1º Exemplo de captura de tela , está faltando em All combinations Jan - KTE
This comment was minimized by the moderator on the site
Hello friend,
How are you. Thank you for your notice. We changed the first ficture. Please check now. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
Hi,
I have a project with excel (including Kutools) that I am stuck on.
Can anyone tell me how to get a list of all combinations of 6 different numbers, without repeating any of the numbers?
I know there should be 6! = 720 combinations but I need the list.
Thanks
This comment was minimized by the moderator on the site
Hi,
I have a project with excel (including Kutools) that I am stuck on.
Can anyone tell me how to get a list of all combinations of 6 different numbers, without repeating any digit?
I know there should be 6! = 720 combinations but I need the list.
Thanks
This comment was minimized by the moderator on the site
Hello Extend Office,
I want to extend the VBA code in "List Or Generate All Possible Combinations From Three Or More Lists With VBA Code article"
I want to show only the one's whose total of the combinations is equal to 9. Can you please show the additional extension/lines in the code? sorry, I'm barely new in VBA.
For example, I only want to show the combinations like the following:
1-2-2-2-2 (this is equal to 1+2+2+2+2 = 9) so, it will show the ones whose total is 9, the rest won't show.
1-2-3-1-3 (=9)
1-3-2-1-2 (=9) and so on...

Thanks very much for your help
Dalesimplest.becky15.08.21

This comment was minimized by the moderator on the site
edited formula to randomize 5 columns instead of 3 but still wont work,why?
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3, xDRg4, xDRg5 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3, xFN4, xF5 As Integer
Dim xSV1, xSV2, xSV3, xSV4, xSV5 As String
Set xDRg1 = Range("A2:A10") 'First column data
Set xDRg2 = Range("B2:B10") 'Second column data
Set xDRg3 = Range("C2:C10") 'Third column data
Set xDRg2 = Range("D2:D10") 'Fourth column data
Set xDRg3 = Range("E2:E10") 'Fifth column data
xStr = "," 'Separator
Set xRg = Range("G2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
For xFN4 = 1 To xDRg4.Count
xSV4 = xDRg4.Item(xFN4).Text
For xFN5 = 1 To xDRg5.Count
xSV5 = xDRg5.Item(xFN5).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3 & xStr & xSV4 & xStr & xSV5
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub
This comment was minimized by the moderator on the site
Hello, jericho,You should modify your code as below code, please try it, thank you!<div data-tag="code">Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3, xDRg4, xDRg5 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3, xFN4, xFN5 As Integer
Dim xSV1, xSV2, xSV3, xSV4, xSV5 As String
Set xDRg1 = Range("A2:A10") 'First column data
Set xDRg2 = Range("B2:B10") 'Second column data
Set xDRg3 = Range("C2:C10") 'Third column data
Set xDRg4 = Range("D2:D10") 'Fourth column data
Set xDRg5 = Range("E2:E10") 'Fifth column data
xStr = "-" 'Separator
Set xRg = Range("H2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
For xFN4 = 1 To xDRg4.Count
xSV4 = xDRg4.Item(xFN4).Text
For xFN5 = 1 To xDRg5.Count
xSV5 = xDRg5.Item(xFN5).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3 & xStr & xSV4 & xStr & xSV5
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
Next
Next
End Sub
This comment was minimized by the moderator on the site
How to remove the repetition if I have color 1, color 2, color 3 in different orders(i.e. color2, color 3, color 1) but they are the same for my need? tks!
This comment was minimized by the moderator on the site
Excelentes soluciones, muchas gracias, lo logré con Kutools
This comment was minimized by the moderator on the site
NON FUNZIONA. HO SEGUITO GLI STESSI PASSAGGI MA MI DICE CHE C'E' UN ERRORE
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations