我们都知道 Excel 中的数据是基于 行 的,换言之一行数据就构成了一个个体,VLookup 可以帮组我们根据一个字段找到这行数据的其他信息。
比如说我有一个基本信息表:
同时我要做一个考勤表里面同样如上图有 员工代码/姓名/部门,如果人数序列一样我当然可以都粘贴过去,但是如果人的数目或前后顺序不一样怎么办,一个一个拷贝吗?
看下面的图,姓名与部门的字段的单元格里是怎么写的:
姓名:
部门:
下面我们详细介绍一下VLOOKUP的几个参数含义以及容易出错的地方:
VLOOKUP(lookup_Value,table_Array,Col_index_num,Range_lookup)
lookup _Value 为要查找的数值,一般是本Sheet中的ID等唯一字段
Table_Array 为要查找的数据表区域,应该是基本表或字典表的一块区域,注意这里的区域不仅仅包含要找的那一列,而且要包括你要取回使用的那一列。如上例中的姓名和部门那一列,而不能仅仅写A1:A20
Col_index_col 返回Table_Array 中需要返回值的序列号,比如上例姓名是2,部门是3。注意这里指的是Table_Array中的序列号,也就是上一个参数指定的区域中的列号,并不是整个Sheet的列号哦。
最后一个参数 Range_lookup 指出是精确匹配还是近似匹配。只有对于 数值 有用,如果为 TRUE 或者省略,则为近似匹配,即如果找不到精确匹配值,就找小于lookup_value的最大数值作为代替。如果为 FALSE ,找不到的话返回 N/A
还有什么要注意的呢? 对了,引用别的Sheet是 Sheet名字+! ,还有对于要查找的区域一般都是绝对单元格区域的引用,也就是加 $,不然在复制公式时,因为自动增加会导致区域发生变化。