MS Excel:將多個清單合併為一個

MS Excel:將多個清單合併為一個

我確信這比我想像的還要容易。

我有多個垂直清單。例如:

項目 1

項目2

項目3

第 4 項

項目1.1

第2.1項

第3.1項

第 4.1 項

第1.2項

第2.2項

第 3.2 項

第 4.2 項

我想將這些項目放入水平列表中,如下所示

項目 1 項目2 項目3 第 4 項
項目1.1 第2.1項 第3.1項 第 4.1 項
第1.2項 第2.2項 第 3.2 項 第 4.2 項

答案1

如果您的清單在列中A,然後嘗試在中輸入公式B1

=IFERROR(VLOOKUP("Item "&(COLUMN()-1)&IF(ROW()=1;"";"."&(ROW()- 1));$A:$A;1;0);"")

並將其向右和向下拉伸,直到看到空白單元格。 結果

答案2

讓我們為每個項目分配一個「新行號」。如果我們知道每個清單中有四個項目,那麼:

=QUOTIENT(ROW()-1,4)+1

在此輸入影像描述

我們可以使用新的行號來過濾原始數據,如下所示:

=TRANSPOSE(FILTER($A$1:$A$12,$B$1:$B$12=ROW()))

在第 1 行,ROW()=1。然後,此 FILTER 傳回 A 列中的前四個值。透過將公式向下拖曳到第 2 行和第 3 行,我們可以獲得其餘資料:

在此輸入影像描述

如果您願意,可以放棄第一步,而直接使用以下步驟:

=TRANSPOSE(FILTER($A$1:$A$12,QUOTIENT(ROW($A$1:$A$12)-1,4)+1=ROW()))

在此輸入影像描述

答案3

我的假設是您的資料是規則的(有序的)且完整的,沒有跳過的項目。您基本上有一個 Tx1 陣列可以包裝到一個 xm 表中,其中 nxm = T。

我們將使用表格中的位置(ROW,COLUMN)作為陣列的索引。假設數組位於sheet1 列A 中,新表位於sheet2 中。那麼sheet2中的A1就是:

=INDEX(SHEET1!$A:$A, COLUMN()+(ROW()-1)*m)

其中 m 必須替換為要換行的列數(範例為 4)。

相關內容