Excel:將表格附加到列相同但行不同的另一個表

Excel:將表格附加到列相同但行不同的另一個表

我花了幾個小時才在 Excel 中將一個表附加到另一個表。我已經嘗試了 1000 種 VLOOKUP 變體,但沒有成功。我所有表格的列(指標)都相同,但行不同(成員退出)。我想將新列附加到舊表中,並獲得所有年份的寬表。

表1(2017年)

|member|revenue|sales|profit|
|   1  |  10   |  20 |  10  |
|   2  |  10   |  20 |  10  |
|   3  |  10   |  20 |  10  |
|   4  |  10   |  20 |  10  |
|   5  |  10   |  20 |  10  |
|   6  |  10   |  20 |  10  |
|   7  |  10   |  20 |  10  |

表2(2018年,部分成員退出)

|member|revenue|sales|profit|
|   1  |  40   |  60 |  80  |
|   3  |  40   |  60 |  80  |
|   4  |  40   |  60 |  80  |
|   6  |  40   |  60 |  80  |
|   7  |  40   |  60 |  80  |

結果:將表 2 的所有欄位追加到表 1

2017                         2018
|member|revenue|sales|profit|revenue|sales|profit|
|   1  |  10   |  20 |  10  |  40   |  60 |  80  |
|   2  |  10   |  20 |  10  |  NA   |  NA |  NA  |
|   3  |  10   |  20 |  10  |  40   |  60 |  80  |
|   4  |  10   |  20 |  10  |  40   |  60 |  80  |
|   5  |  10   |  20 |  10  |  NA   |  NA |  NA  |
|   6  |  10   |  20 |  10  |  40   |  60 |  80  |
|   7  |  10   |  20 |  10  |  40   |  60 |  80  |

答案1

在此輸入影像描述

注意

在儲存格填入中寫入此數組公式E218,然後按F2並按 完成Ctrl+Shift+Enter。然後填寫即可得到結果。

{=IFERROR(VLOOKUP(A218,$A$210:$D$215,{2,3,4},FALSE),"No Match")}

怎麼運作的:

  • {2,3,4}依序讀取第 2 列至第 4 列數組常數,通常在陣列公式中使用來一次操作多個值,而不是單一值。
  • 根據需要調整公式中的儲存格引用。
  • 您可以替換No Matchblanks.

答案2

@Rajesh S 提出的解決方案應該有效。您必須先選取一行中的所有三個適用儲存格,然後在公式欄中輸入陣列公式。這樣,數組公式中的 {2,3,4} 就會分佈在水平數組中的 3 列。

如果您對數組公式不滿意並且只有兩個表,您可以簡單地在 VLOOKUP 中操作 COLUMN()-COLUMN(固定引用後面兩列)以僅生成 2,3,4 一次,並且您應該能夠加入兩張桌子。

如果您需要將更多表格堆疊在一起,例如將來您甚至可能在另一個表格下方添加 2019 年、2020 年等,那麼您可能還想考慮以下解決方案。

在此範例中,基底表 1 位於 $A$3:$D$9、表 2 $A$11:$D$15 和表 3 $A$17:$D$21 中。

請使用第一行作為輔助行,並按照 Excel 公式理解單元格引用的方式準確地將各自表格的 Cell1:Cell2 尺寸放入其中,例如 $A$11:$D$15

現在,將以下公式放入 E3 中,並將其向下拖曳至目標儲存格。

您的桌子應一張一張地連接在一起。將來,如果您新增更多表,只需將相應的維度放在輔助行上(如果適用)。

只有當您在 E 列中開始公式時,為 VLOOKUP 產生序列 2,3,4 的列號運算才有效。 .

=IFERROR(VLOOKUP($A3,INDIRECT(E$1),IF(MOD(COLUMN(),3)=0,3,IF(MOD(COLUMN(),3)=1,4,2)),FALSE),"NA")

在此輸入影像描述

相關內容