我花了几个小时才在 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
答案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。
请使用第一行作为辅助行,并将相应表格的单元格 1:单元格 2 尺寸准确放入其中,就像 excel 公式理解单元格引用一样,例如 $A$11:$D$15
现在将以下公式放入 E3 中并将其向下拖动到目标单元格。
您的桌子应一个挨一个地连接在一起。将来,如果您添加更多桌子,只需将相应的尺寸放在辅助行上即可。
仅当您在 E 列中开始公式时,用于为 VLOOKUP 生成序列 2,3,4 的列号操作才会起作用。如果从任何其他列开始,则需要更改公式才能正确地重新生成序列 2,3,4。
=IFERROR(VLOOKUP($A3,INDIRECT(E$1),IF(MOD(COLUMN(),3)=0,3,IF(MOD(COLUMN(),3)=1,4,2)),FALSE),"NA")