我有Excel 2016.我有三个工作表,每个工作表包含一个表(让我们称之为tab1,tab2,tab3)。
每个表都包含一个名为servId的列。
在第4个工作表中,我想创建一个包含所有三个表中所有servId条目的列表。
e.g。如果tab1包含条目1,2,3
,则tab2包含4,5,6
,tab3包含7,8,9
我会得到1,2,3,4,5,6,7,8,9
的结果列表
我该怎么做?我已经找到了很多可以在表之间进行匹配的示例,但这并不好,因为我想要所有条目。
我尝试了显而易见的事情:
=tab1[servId],tab2[servId],tab3[servId]
但这只是给了我一个错误。
我确信必须有一个非常明显的方法来做到这一点,但不能为我的生活做到这一点。
答案 0 :(得分:1)
我认为您可以使用查询编辑器。
<强> 1。首先,您必须将所有表添加到Power Query Editor:
选择您的第一个表格,转到“数据&gt;来自表格”;它将打开Power Query Editor。单击“关闭并加载”上的黑色小箭头,然后选择“关闭并加载到...”。 在打开的对话框中,将默认选择从“表”更改为“仅创建连接”。 对所有表格重复此操作
<强> 2。附加所有查询并仅保留您的servID:
转到新工作表,转到“数据 - >新查询 - >组合查询 - >添加”,选择“三个或更多表”并添加所有表格。 Power Query Editor将打开,所有表连接成一个。 您可以进行转换,例如只保留ServID列(右键单击ServID列的名称,删除其他列例如)。
完成后,使用正常的“关闭和加载”
已经完成了:)
答案 1 :(得分:0)
您可以使用非常简单的宏来获得结果。
Sub Test()
Range("Table1[ID]").Copy
Range("J1").PasteSpecial xlPasteValues
Range("Table2[ID]").Copy
Total_Rows = WorksheetFunction.CountA(Range("J:J"))
Range("J" & Total_Rows + 1).PasteSpecial xlPasteValues
Range("Table3[ID]").Copy
Total_Rows = WorksheetFunction.CountA(Range("J:J"))
Range("J" & Total_Rows + 1).PasteSpecial xlPasteValues
ActiveSheet.Range("$J:$J").RemoveDuplicates Columns:=1, Header:=xlNo
Application.CutCopyMode = False
End Sub
这假设您根本没有“J”列中的任何数据,并且希望将数据粘贴在活动工作表中。