Excel - 열 a와 열 b를 열 d와 e로 결합하는 모든 조합

Excel - 열 a와 열 b를 열 d와 e로 결합하는 모든 조합

이 질문을 어떻게 해야 할지 잘 모르겠습니다. 그래서 제가 달성하려는 작업의 스크린샷을 찍었습니다.

여기에 이미지 설명을 입력하세요

a열과 b열의 모든 조합을 d열과 e열로 출력하고 싶습니다. a와 b를 하나의 열로 결합하는 방법에 대한 많은 예를 보았지만 별도의 열에 필요합니다.

이것이 가능하다고 확신합니다. 시작하기 위해 무엇을 검색해야 할지 모르겠습니다.

답변1

두 가지 공식.

이것을 D1에 넣고 복사하세요.

=IFERROR(INDEX($A$1:INDEX(A:A,COUNTA(A:A)),INT((ROW(1:1)-1)/COUNTA(B:B))+1),"")

이것을 E1에 넣고 복사하세요:

=IF(D1<>"",INDEX($B$1:INDEX(B:B,COUNTA(B:B)),MOD((ROW(1:1)-1),COUNTA(B:B))+1),"")

여기에 이미지 설명을 입력하세요

답변2

마이크로소프트를 이용하세요가져오기 및 변환 전동 공구Excel 2016을 사용하는 경우 두 변수(또는 테이블)의 데카르트 곱을 만들기 위한 것입니다.
(Excel 2010-2013의 경우 무료 MS 추가 기능을 사용하십시오.Excel용 파워 쿼리.)

설명된 방법과 유사합니다.여기, 당신은 할 수 있습니다

  • 파워 쿼리에서 두 열을 구분된 테이블로 가져옵니다(Excel 2016: 리본 데이터 > 테이블에서).
  • 그런 다음 동일한 값(예: 1)을 가진 도우미 열을 추가합니다.
  • 두 테이블을 병합
  • 원래 가져온 열 유지

이론적으로는 두 개의 열뿐만 아니라 여러 열로 구성된 두 개의 테이블에서도 데카르트 곱을 만들 수 있습니다.

두 테이블의 M 코드는 다음과 같습니다.

표2

let
    Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column2", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "CrossColumn", each 1)
in
    #"Added Custom"

1 번 테이블

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "CrossColumn", each 1),
    #"Merged Queries" = Table.NestedJoin(#"Added Custom",{"CrossColumn"},Table2,{"CrossColumn"},"Table2",JoinKind.Inner),
    #"Expanded {0}" = Table.ExpandTableColumn(#"Merged Queries", "Table2", {"Column2"}, {"Column2"}),
    #"Removed Columns" = Table.RemoveColumns(#"Expanded {0}",{"CrossColumn"})
in
    #"Removed Columns"

관련 정보