Note: The other languages of the website are Google-translated. Back to English

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에서 목록 작업을 빠르게 해결하기 위해 몇 가지 트릭을 소개합니다.

 


최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

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

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

 

코멘트 (42)
5에서 평가 된 5 · 1 등급
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 화려한 공식입니다! 나는 그것이 어떻게 작동하는지 전혀 모르지만 내 목록의 길이와 일치하도록 열 A와 B를 변경하고 D1에 내 출력을 갖습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
예: 내 값 목록은 1,2,3,4,5,6......80 입니다. kutool이 2개의 숫자 세트의 모든 조합을 표시하도록 하고 싶습니다. 예: 1-2 , 1-3 , 1-4 , 1-5 , ...........79-80 . 이것이 KUTOOL로 가능합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
2개의 개별 열로 분리되어 있지만 서로 인접해 있는 다양한 조합을 생성하는 이 수식을 작동시키는 방법이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 작업을 수행하는 방법을 알아낸 행운이 있습니까? 나는 똑같은 일을하려고하고 Excel의 2 개의 개별 열에 모든 확률을 가지고 있습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
아직 운이 없었습니까? 나는 같은 일을하려고 노력하고 있으며 가능한 모든 조합을 2 개의 개별 열에서 서로 옆에 두었습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
5*5 행렬(5행 5열)의 모든 조합에 대한 공식을 얻을 수 있습니까? 시도했지만 얻을 수 없습니다. 도와주세요.......
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
매우 도움이 됩니다. 이제 조합을 매우 쉽게 생성할 수 있습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Month 헤더의 모든 순열을 원할 경우 KuTools 또는 수식을 어떻게 사용할 수 있습니까? XNUMX월, XNUMX월과 XNUMX월, XNUMX월과 XNUMX월, XNUMX월과 XNUMX월, XNUMX월과 XNUMX월과 XNUMX월 등
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
누구든지 6개가 아닌 XNUMX개의 데이터 열을 반영하도록 이것을 수정하는 방법을 알고 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
같은 것을 찾고 있습니다. 아는 사람?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
6개의 데이터 열을 반영하도록 이것을 수정하는 방법을 아는 사람이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
더 많은 열:
모든 가능성을 곱하기 위해 공식의 첫 번째 부분을 수정해야 합니다. 예를 들어 이것은 6개의 열에 대한 것입니다.
COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9)
그래서 당신은 추가하고 있습니다
*COUNTA(YourRangeHere)
각 열에 대해
수식의 두 번째 부분은 다음과 같이 각 열에 대해 수정해야 합니다.
INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1)
그래서 당신은 추가하고 있습니다
&INDEX(YourRangeHere,MOD(ROW()-ROW($I$2),COUNTA(YourRangeHere))+1)

따라서 그것들을 모두 합치면 6개의 열에 대한 이 예를 얻을 수 있습니다.

=IF(ROW()-ROW($I$2)+1>COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9),"",INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1))

이 공식을 $I$2에 붙여넣으면 $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... 최대 $F$2:$F$9가 됩니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 작동하지 않습니다 :( 이것보다 더 복잡합니다
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
더 많은 열:
모든 가능성을 곱하려면 공식의 첫 번째 부분을 수정해야 합니다. 예를 들어 다음은 6개의 열에 대한 것입니다.

COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9)
그래서 당신은 추가하고 있습니다
*COUNTA(YourRangeHere)
각 열에 대해

수식의 두 번째 부분은 다음과 같이 각 열에 대해 수정해야 합니다.

INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1)

그래서 당신은 추가하고 있습니다

&INDEX(YourRangeHere,MOD(ROW()-ROW($I$2),COUNTA(YourRangeHere))+1)

따라서 그것들을 모두 합치면 6개의 열에 대한 이 예를 얻을 수 있습니다.

=IF(ROW()-ROW($I$2)+1>COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9),"",INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1))

이 공식을 $I$2에 붙여넣으면 $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... 최대 $F$2:$F$9가 됩니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 작동하지 않습니다 :( 이것보다 더 복잡합니다
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
사이에 공백을 추가하는 방법을 알고 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 에인님.
이 기사의 수식은 셀 값 사이에 공백을 추가하는 데 도움이되지 않지만 Excel 용 Kutools를 적용 할 수 있습니다. 결합 된 결과를 분리하려는 구분 기호를 입력 할 수 있습니다. 스크린 샷 참조 :
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
B열을 인덱싱하기 전에 &를 추가하여 공백을 추가할 수 있습니다.

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


....또는 원하는 다른 구분 기호!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
KuTools가 "단순한 조합" 방식으로 셀을 연속적으로 정렬할 수 있습니까?
내 말은, 만약 내가 다음과 같은 데이터를 가지고 있다면:
_________________________
존 잭 폴 메이시

마크 래리

제리 폴 메리

샘 제프 피터 루카스
_________________________



그리고 다음과 같이 출력하고 싶습니다.
___________
존 잭

존 폴

존 메이시

잭 폴

잭 메이시

폴 메이시

마크 래리

제리 폴

제리 결혼

폴 메리

샘 제프

샘 피터

샘 루카스

제프 피터

제프 루카스

피터 루카스
____________


어떻게 해야 하나요? KuTools가 이와 같이 sth를 수행할 수 있습니까?

감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 아서
죄송합니다. Kutools는 말씀하신 대로 이 작업을 해결하는 데 도움을 드릴 수 없습니다.
귀하의 의견에 감사드립니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
5개의 데이터 세트에 대해 아직 공식을 알아낸 사람이 있습니까? 나는 이것에 지금까지 당황했습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 마르코
Kutools는 문제를 신속하게 해결하는 데 도움이 될 수 있습니다. 다음 스크린샷을 확인하십시오.
시도해보십시오. 도움이 되길 바랍니다. 감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕,
1,4만 개 이상의 조합을 생성하고 Excel 행 제한을 초과하는 경우 어떻게 해야 합니까?
Kudos가 다음 열에서 반복을 계속하도록 하는 방법이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
왜 내 공식이 E열에서 25개 조합을 만들지 않았습니까(Col A의 5개 요소 * Col B의 5개 요소)? 이 기사의 수식은 25개 셀에 대해 드래그했을 때 D열에서 작동한 반면에? 스크린샷 - https://prnt.sc/ihwr18
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Hola me arroja una Referencia circula la 공식
=SI(FILA()-FILA($D$1)+1>(CONTARA($A$1:$A$4)*CONTARA($B$1:$B$3));"";INDICE($A$1:$A$4;RESIDUO((FILA()-FILA($D$1));COUNTA($B$1:$B$3)+1))
&INDICE($B$1:$B$3;RESIDUO(FILA()-FILA($D$1);CONTARA($B$1:$B$3))+1))
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요. 텍스트 대신 이러한 조합이 숫자인 경우 결과를 계산하려면 어떻게 해야 하나요???? 나는 "+"를 추가하려고 시도하지만 엑셀은 그것이 상징인지 모릅니다. 이것을 어떻게 해결합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
나는 extions를 사용하고 훌륭하게 작동하지만 이제 문제가 있습니다. 합계를 계산해야하지만 결과는 텍스트입니다. 기호 + 인 구분 기호를 입력하지만 마지막으로 텍스트가 있고 작업에서 변환할 수 없습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
거의 매우 편리합니다. 실제로 셀($A$1)에 있는 것을 사용하고 셀을 텍스트로 변환하지 않으면 좋을 것입니다. 그런 다음 A1에 필요한 것을 붙여넣고 아무 것도 변경할 필요 없이 다시 실행할 수 있습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것을 txt 파일로 출력하는 방법이 있습니까? D 열에 수백만 개의 결과가 있는 경우 채우기 핸들을 드래그하는 것은 그다지 실용적이지 않습니다.
아직 코멘트가 없습니다
더보기
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호