VLOOKUP并将表合并到一个文件

时间:2014-05-21 22:45:24

标签: excel excel-formula excel-2007 vlookup

我有三张Excel表格,其中有一些类似的列标题:

Sheet 1中:
Id | tax | amount
34 23%2300

Sheet 2中:
Id | rate | cost
13 63%8300

表Sheet 3:
Id | rate | cost | balance
34 23%2300 120

如何通过ID合并它们以获得一张完整的Excel表格?:

最终合并表:
Id | rate | cost | balance | tax | amount |
13 63%8300
34 23%2300 120 23%2300

我试过寻找解决方案,但我需要一个简单而又解释性的答案。

5 个答案:

答案 0 :(得分:1)

您想要使用的是VLOOKUP。基本上,在另一个工作表中设置所有列。识别所有唯一ID。您可以通过一个接一个地复制粘贴所有ID然后使用数据>来完成此操作。消除重复。在此之后,您可以使用VLOOKUP从正确的工作表中检索所有列。

VLOOKUP有以下用法:     = VLOOKUP(unique_value,lookup_range,column_no_to_retrieve,0)

最后一个参数为0表示精确匹配,1表示近似匹配。该函数将在“lookup_range”的第一列上查找,并将在第一个匹配的同一行返回“column_no_to_retrieve”指定的列中的单元格。如果有多个匹配,则忽略其他匹配。

答案 1 :(得分:1)

如果没有VLOOKUP或任何等效公式,可以获得所需的结果:

在sheet1上,在Idtax之间插入三列 将sheet1,sheet2和sheet3复制到第四个工作表中,复制标题以完成row1并删除其他行中的标题 按Id排序。
对于Id中的每次更改,小计五个数据列包含SUM 复制工作表和粘贴特殊值,顶部的值 在Id上过滤不包含' tot'并删除所有以蓝色编号的行 删除Grand Total行。
选择Id列并替换'总'什么都没有。
删除全部小计。
格式适合。

答案 2 :(得分:1)

如果您准备好所有ID并且没有重复,请按照以下步骤操作。

1)将所有ID粘贴到表4的A2中。

Ex:A2 - 34     A3 - 13

2)将下面的公式放在表格4中的单元格B2中,然后选择B2,C2,....直到列F的ids数字为例,你的总ids是10,然后选择B2,C2 .... F10然后按Ctrl + D

=IFERROR(INDEX(Sheet1!$A:$E,MATCH($A2,Sheet1!$A:$A,0),MATCH(B$1,Sheet1!$1:$1,0)),IFERROR(INDEX(Sheet2!$A:$E,MATCH($A2,Sheet2!$A:$A,0),MATCH(B$1,Sheet2!$1:$1,0)),IFERROR(INDEX(Sheet3!$A:$E,MATCH($A2,Sheet3!$A:$A,0),MATCH(B$1,Sheet3!$1:$1,0)),"")))

答案 3 :(得分:0)

您可以尝试此操作,前提是每张工作表仅具有唯一ID(无重复) 虽然有点长的公式而不是 Vlookup

=IFERROR(INDEX(Sheet1!$A:$E,MATCH($A2,Sheet1!$A:$A,0),MATCH(B$1,Sheet1!$1:$1,0)), IFERROR(INDEX(Sheet2!$A:$E,MATCH($A2,Sheet2!$A:$A,0),MATCH(B$1,Sheet2!$1:$1,0)), IFERROR(INDEX(Sheet3!$A:$E,MATCH($A2,Sheet3!$A:$A,0),MATCH(B$1,Sheet3!$1:$1,0)),"")))

基本上它是一个简单的索引匹配与嵌套 Iferror 的组合,可以尝试在不同的工作表上进行搜索。
因此,如果您的工作表设置如下:

enter image description here

在最终工作表的 Cell B2 中输入公式,以获得所需的输出 将公式复制并粘贴到其他单元格。

enter image description here

没有对大量数据集进行过测试,无论如何你都没有在你的问题中提到它 但是,我认为计算时间可以管理几千行 此外,我使用的范围地址是整列,因此可以通过动态使用命名范围设置显式定义要处理的范围来改进它。

答案 4 :(得分:0)

对于Id,只需将具有更多id的任何工作表链接到最终工作表,并将其余数据链接到我们这里:

=IF(OR(B$1="ID",B$1="TAX",B$1="AMOUNT"),SUMPRODUCT((Sheet1!$A$1:$C$1=B$1)*(Sheet1!$A$2:$A$10=$A2)*(Sheet1!$A$2:$C$10)),SUMPRODUCT((Sheet3!$A$1:$D$1=B$1)*(Sheet3!$A$2:$A$10=$A2)*(Sheet3!$A$2:$D$10)))

如果将所有四张纸设置为表格,则无需更新单元格引用。公式将查看最终工作表的最左侧列,其中数据通过链接显示,结果将用于从其余工作表中获取数据。

希望有所帮助。

相关问题