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

использовать MicrosoftПолучить и преобразовать электроинструментыдля создания декартового произведения двух переменных (или таблицы), если вы используете Excel 2016.
(Для Excel 2010-2013 используйте бесплатную надстройку MSPower Query для Excel.)

Аналогично описанному способуздесь, ты можешь

  • импортируйте оба столбца как отдельную таблицу в Power Query (Excel 2016: лента Данные > Из таблицы)
  • затем добавьте вспомогательный столбец с тем же значением (например, 1),
  • объединить обе таблицы
  • сохранить исходный импортированный столбец

Теоретически можно составить декартово произведение не только из двух столбцов, но и из двух таблиц из нескольких столбцов.

Вот М-код обеих таблиц:

Таблица 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"

Связанный контент