字段A | 字段B | 字段C |
1 | 1 | BBC |
2 | 2 | BBD |
5 | 1 | BBD |
表Sheet2
字段A | 字段D | 字段E |
1 | 100 | A01 |
3 | 200 | A02 |
4 | 300 | A03 |
两个表是通过字段A作为关联,将相同的数据进行合并成一行完整的数据。需要得到的结果是:
字段A | 字段B | 字段C | 字段D | 字段E |
1 | 1 | BBC | 100 | A01 |
2 | 2 | BBD | #N/A | #N/A |
5 | 1 | BBD | #N/A | #N/A |
最佳的答案是:
表Sheet1的
D1输入:=VLOOKUP(A1,Sheet2!A:C,2,0)
E1输入:=VLOOKUP(A1,Sheet2!A:C,3,0)
向下复制公式即可
原理:
VLOOKUP在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数VLOOKUP代替函数HLOOKUP。
在VLOOKUP中的V代表垂直。
语法:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
lookup_value 是需要在数组第一列中查找的数值。lookup_value可以为数值、引用或文本字符串。
table_array 是需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表。
如果range_lookup为TRUE,则table_array的第一列中的数值必须按升序排列:...、-2、-1、0、1、2、...、-Z、FALSE、TRUE;否则,函数VLOOKUP不能返回正确的数值。如果range_lookup为FALSE,table_array不必进行排序。
通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。
table_array的第一列中的数值可以为文本、数字或逻辑值。
文本不区分大小写。
co_index_num 为table_array中待返回的匹配值的列序号。
co_index_num 为1时,返回table_array第一列中的数值;col_index_num为2时,返回table_array第二列中的数值,以此类推。如果col_index_num小于1,函数VLOOKUP返回错误值#VALUE!;如果col_index_num大于table_array的列数,函数VLOOKUP返回错误值#REF!。
range_lookup 为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配。如果为TRUE或者省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果range_value为FALSE,函数VLOOKUP将返回精确匹配值。如果找不到,则返回错误值#N/A。