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

Excel에서 3 개 또는 여러 열의 모든 조합을 생성하는 방법은 무엇입니까?

3 개의 데이터 열이 있다고 가정하면 아래 스크린 샷과 같이이 3 개의 열에있는 모든 데이터 조합을 생성하거나 나열하려고합니다. Excel에서이 작업을 해결하는 좋은 방법이 있습니까?

수식을 사용하여 3 개의 데이터 열을 기반으로 모든 조합 생성

VBA 코드를 사용하여 3 개 이상의 데이터 열을 기반으로 모든 조합 생성

멋진 기능을 사용하여 3 개 이상의 데이터 열을 기반으로 모든 조합을 생성합니다.


수식을 사용하여 3 개의 데이터 열을 기반으로 모든 조합 생성

다음과 같은 긴 수식은 3 개 열의 모든 조합을 나열하는 데 도움이 될 수 있습니다. 다음과 같이하십시오.

1. 결과를 출력 할 셀을 클릭 한 후 아래 수식을 복사하여 붙여 넣으십시오.

=IFERROR(INDEX($A$2:$A$4,INT((ROW(1:1)-1)/((COUNTA($B$2:$B$6)*(COUNTA($C$2:$C$5)))))+1)&"-"&INDEX($B$2:$B$6,MOD(INT((ROW(1:1)-1)/COUNTA($C$2:$C$5)),COUNTA($B$2:$B$6))+1)&"-"&INDEX($C$2:$C$5,MOD((ROW(1:1)-1),COUNTA($C$2:$C$5))+1),"")

주의 사항:이 공식에서 : A2 : A4, B2 : B6, C2 : C5 사용하려는 데이터 범위입니다.

2. 그런 다음 빈 셀이 표시 될 때까지 채우기 핸들을 아래로 드래그합니다. 즉, 3 개 열의 모든 조합이 나열됩니다. 스크린 샷 참조 :


VBA 코드를 사용하여 3 개 이상의 데이터 열을 기반으로 모든 조합 생성

위의 긴 수식은 사용하기 다소 어려우며, 사용할 열 데이터가 여러 개인 경우 수정하기가 번거 롭습니다. 여기서는 빠르게 처리 할 수있는 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:A4")  'First column data
Set xDRg2 = Range("B2:B6")  'Second column data
Set xDRg3 = Range("C2:C5")  '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 : A4, B2 : B6, C2 : C5 사용하려는 데이터 범위입니다. E2 결과를 찾을 출력 셀입니다. 더 많은 열의 모든 조합을 얻으려면 필요에 따라 코드에 다른 매개 변수를 변경하고 추가하십시오.

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


멋진 기능을 사용하여 3 개 이상의 데이터 열을 기반으로 모든 조합을 생성합니다.

당신이 있으면 Excel 용 Kutools, 강력한 모든 조합 나열 기능을 사용하면 여러 열의 모든 조합을 빠르고 쉽게 나열 할 수 있습니다.

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

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

1. 딸깍 하는 소리 쿠툴 > 끼워 넣다 > 모든 조합 나열, 스크린 샷 참조 :

2. 에서 모든 조합 나열 대화 상자에서 다음 스크린 샷과 같이 조합을 나열하기위한 열 데이터 및 구분 기호를 지정합니다.

3. 데이터 및 구분 기호를 설정 한 후 Ok 버튼을 누르고 다음 프롬프트 상자에서 결과를 찾을 셀을 선택합니다. 스크린 샷을 참조하십시오.

4. 그런 다음 OK 버튼을 클릭하면 아래 스크린 샷과 같이 모든 조합이 즉시 생성됩니다.

Excel 용 Kutools 및 무료 평가판을 지금 다운로드하려면 클릭하십시오!


  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 및 데이터 보관; 셀 내용 분할; 중복 행과 합계 / 평균 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 즐겨 찾기 및 빠른 수식 삽입, 범위, 차트 및 그림; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 피벗 테이블 그룹화 기준 주 번호, 요일 등 ... 잠금 해제되고 잠긴 셀 표시 다른 색상으로; 수식 / 이름이있는 셀 강조 표시...
kte 탭 201905
  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (17)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
우리가 사용할 수 있는 임의의 조합을 생성하려면
=INDEX($A$2:$A$4,RANDBETWEEN(1,3))&"-"&INDEX($B$2:$B$6,RANDBETWEEN(1,5))&"-"&INDEX($C$2:$C$5,RANDBETWEEN(1,4))
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 게시물을 공유해 주셔서 감사합니다. 공식에 대해 @Balaji에게 감사드립니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
나는 당신에게 충분히 감사할 수 없습니다! 많은 시간을 절약했습니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
5 열에 대해 아래 수식을 수행하는 방법은 무엇입니까? 알아 내려고하지만 오류를 제공
=IFERROR(INDEX($A$2:$A$4,INT((ROW(1:1)-1)/((COUNTA($B$2:$B$6)*(COUNTA($C$2:$C$5)))))+1)&"-"&INDEX($B$2:$B$6,MOD(INT((ROW(1:1)-1)/COUNTA($C$2:$C$5)),COUNTA($B$2:$B$6))+1)&"-"&INDEX($C$2:$C$5,MOD((ROW(1:1)-1),COUNTA($C$2:$C$5))+1),"")
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, Nikhil, 5개 열에서 모든 조합을 얻으려면 아래 VBA 코드가 도움이 될 수 있습니다. 데이터에 대한 셀 참조를 변경하십시오.
하위 목록AllCombinations()
'업데이트바이 Extendoffice
xDRg1, xDRg2, xDRg3, xDRg4, xDRg5를 범위로 어둡게
범위로 Dim xRg
Dim xStr을 문자열로
Dim xFN1, xFN2, xFN3, xFN4, xFN5 정수
Dim xSV1, xSV2, xSV3, xSV4, xSV5 문자열로
Set xDRg1 = Range("A2:A7") '첫 번째 열 데이터
Set xDRg2 = Range("B2:B7") '두 번째 열 데이터
Set xDRg3 = Range("C2:C7") '세 번째 열 데이터
Set xDRg4 = Range("D2:D7") '네 번째 열 데이터
Set xDRg5 = Range("E2:E7") '다섯 번째 열 데이터
xStr = "-" '구분 기호
Set xRg = Range("H2") '출력 셀
xFN1의 경우 = 1 ~ xDRg1.Count
xSV1 = xDRg1.Item(xFN1).텍스트
xFN2의 경우 = 1 ~ xDRg2.Count
xSV2 = xDRg2.Item(xFN2).텍스트
xFN3의 경우 = 1 ~ xDRg3.Count
xSV3 = xDRg3.Item(xFN3).텍스트
xFN4의 경우 = 1 ~ xDRg4.Count
xSV4 = xDRg4.Item(xFN4).텍스트
xFN5의 경우 = 1 ~ xDRg5.Count
xSV5 = xDRg5.Item(xFN5).텍스트
xRg.값 = xSV1 & xStr & xSV2 & xStr & xSV3 & xStr & xSV4 & xStr & xSV5
xRg = xRg.Offset(1, 0) 설정
다음
다음
다음
다음
다음
End Sub시도해보세요. 도움이 되길 바랍니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 skyyang님, 7롤에 대한 코드를 변경했지만 Excel에 1,048,576행만 있는 것을 보고 VBA 코드에서 모든 조합을 제공할 수 없습니다. 다른 열에서 계속할 수 있는 방법을 알고 있습니까? 이 코드는 - Set xRg = xRg.Offset(1, 0)이 변경되어야 한다고 생각합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 skyyang님, 7롤에 대한 코드를 변경했지만 Excel에 1,048,576행만 있는 것을 보면 VBA 코드가 모든 조합을 제공할 수 없습니다.
다른 열에서 계속할 수 있는 방법을 알고 있습니까?
이 코드는 xRg = xRg.Offset(1, 0)으로 설정한다고 생각합니다.
변화에 필요한 
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
=IFERROR(INDEX($A$2:$A$5,INT((ROW(1:1)-1)/((COUNTA($B$2:$B$3)*(COUNTA($C$2:$C$3)* (COUNTA($D$2:$D$4)* (COUNTA($E$2:$E$6)* (COUNTA($H$2:$H$6)* (COUNTA($G$2:$G$6)* (COUNTA($H$2:$H$6))))))))))+1)&"-"&INDEX($B$2:$B$3,MOD(INT((ROW(1:1)-1)/COUNTA($C$2:$C$3)),COUNTA($B$2:$B$3))+1)&"-" &INDEX($C$2:$C$3,MOD(INT((ROW(1:1)-1)/COUNTA($D$2:$D$4)),COUNTA($C$2:$C$3))+1)&"-" &INDEX($D$2:$D$4,MOD(INT((ROW(1:1)-1)/COUNTA($E$2:$E$6)),COUNTA($D$2:$D$4))+1)&"-" &INDEX($E$2:$E$6,MOD(INT((ROW(1:1)-1)/COUNTA($F$2:$F$6)),COUNTA($E$2:$E$6))+1)&"-" &INDEX($F$2:$F$6,MOD(INT((ROW(1:1)-1)/COUNTA($G$2:$G$6)),COUNTA($F$2:$F$6))+1)&"-" &INDEX($G$2:$G$6,MOD(INT((ROW(1:1)-1)/COUNTA($H$2:$H$6)),COUNTA($G$2:$G$6))+1)&"-"&INDEX($H$2:$H$6,MOD((ROW(1:1)-1),COUNTA($H$2:$H$6))+1),"")
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
4개의 열에 대해 이 공식이 필요합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
정말 감사합니다. 정확히 내가 필요한 것 :-)))
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 코드에 대해 대단히 감사합니다. 필요한 열의 양(25)에 대한 코드를 수정했습니다. 감사해요,
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
HiIn VBA 코드에서는 2개의 열을 사용했으며 열의 범위는 E75:E2, B267:B2, C195:C2 및 D267:D2입니다. 출력 범위는 JXNUMX입니다. 이 경우 출력 결과가 행 제한을 초과했습니다. 오류 해결을 도와주세요
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 9열에 대한 코드입니다:')
하위 목록AllCombinations()
'업데이트바이 Extendoffice
Dim xDRg1, xDRg2, xDRg3, xDRg4, xDRg5, xDRg6, xDRg7, xDRg8, xDRg9 범위
Dim xRg As Range
Dim xStr을 문자열로
Dim xFN1, xFN2, xFN3, xFN4, xFN5, xFN6, xFN7, xFN8, xFN9 정수
Dim xSV1, xSV2, xSV3, xSV4, xSV5, xSV6, xSV7, xSV8, xSV9 문자열로
Set xDRg1 = Range("A2:A3") '첫 번째 열 데이터
Set xDRg2 = Range("B2:B3") '두 번째 열 데이터
Set xDRg3 = Range("C2:C10") '세 번째 열 데이터
Set xDRg4 = Range("D2:D2") '세 번째 열 데이터
Set xDRg5 = Range("E2:E3") '세 번째 열 데이터
Set xDRg6 = Range("F2:F3") '세 번째 열 데이터
Set xDRg7 = Range("G2:G4") '세 번째 열 데이터
Set xDRg8 = Range("H2:H3") '세 번째 열 데이터
Set xDRg9 = Range("I2:I3") '세 번째 열 데이터
xStr = "-" '구분 기호
Set xRg = Range("K2") '출력 셀
xFN1의 경우 = 1 ~ xDRg1.Count
xSV1 = xDRg1.Item(xFN1).텍스트
xFN2의 경우 = 1 ~ xDRg2.Count
xSV2 = xDRg2.Item(xFN2).텍스트
xFN3의 경우 = 1 ~ xDRg3.Count
xSV3 = xDRg3.Item(xFN3).텍스트
xFN4의 경우 = 1 ~ xDRg4.Count
xSV4 = xDRg4.Item(xFN4).텍스트
xFN5의 경우 = 1 ~ xDRg5.Count
xSV5 = xDRg5.Item(xFN5).텍스트
xFN6의 경우 = 1 ~ xDRg6.Count
xSV6 = xDRg6.Item(xFN6).텍스트
xFN7의 경우 = 1 ~ xDRg7.Count
xSV7 = xDRg7.Item(xFN7).텍스트
xFN8의 경우 = 1 ~ xDRg8.Count
xSV8 = xDRg8.Item(xFN8).텍스트
xFN9의 경우 = 1 ~ xDRg9.Count
xSV9 = xDRg9.Item(xFN9).텍스트
xRg.값 = xSV1 & xStr & xSV2 & xStr & xSV3 & xStr & xSV4 & xStr & xSV5 & xStr & xSV6 & xStr & xSV7 & xStr & xSV8 & xStr & xSV9
xRg = xRg.Offset(1, 0) 설정
다음
다음
다음
다음
다음
다음
다음
다음
다음
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
'단어-단어-단어'는 '단어'로 가입하게 되었습니다.
"단어"가 아닌 경우,
그 댓가의 결정을 늦추는 데 도움이 되지 않겠습니까?

'VBA 코드 : 3개의 모든 것'

"1-1-1"이 뛰어난 성능을 보여주었습니다

-1 개가 올 예정입니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Bonjour, comment faire pour que chaque valeurs soient placées dans une Colonne distincte en non séparées par un Tiret ?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Esse codigo me ajudou bastante e combinou um item de cada coluna entre elas. Mas também preciso combinar dois itens de cada coluna, sem repetição. Alguém poderia me ajudar nisso?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Esse codigo me ajudou bastante e combinou um item de cada coluna entre elas. Mas também preciso combinar dois itens de cada coluna, sem repetição. Alguém poderia me ajudar nisso?
아직 코멘트가 없습니다
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

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