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 的 Power 查詢.)

與描述的方式類似這裡, 你可以

  • 在 Power Query 中將兩列匯入為單獨的表(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"

相關內容