最近在给一家企业做Excel培训的时候,谈到了vlookup函数的使用,利用vlookup制作一个小型的数据库查询系统,期间财务总监问到系统设计中的一个细节问题,牛闪闪觉得有很普遍的针对性,赶紧和大家进行一下分享。
首先什么是列表查询系统,就是类似身份证掉了去公安局挂失,警察一定是先问你的身份证号码,然后在他的系统里进行查询,从而获得身份证对应的其他信息,比如姓名,家庭住址什么的。那用Excel当数据库,如何设计这类查询系统?
本例给大家介绍一下。首先你需要一个“数据库”表格,第一列包含了每条记录的唯一性,下表中员工编号既是数据库每行的数据的唯一标识,俗称关键字字段。
把上面的表格当成数据库,然后在另外的数据区域,创建一个查询窗口区域。下图红框处,注意字段的顺序与数据库表格的字段顺序不一样,也是本例的重点。
接下来就可以利用vlookup函数,进行列表的查询匹配。
=VLOOKUP(A12,D2:G8,3,0)
函数输入后,得到B1123编号的员工性别是女。从上表中看应该是Grace. 那如何做到其他字段,年龄,员工姓名 都成功匹配上呢,大家肯定会说,把函数里面的参数改为2或4就好了,但职场中的数据库表格字段通常都比较多,因此我们的财务总监希望,写好vlookup函数后,然后直接拖拽就可以获得数据库数据的自动匹配。
所以单靠vlookup就不能解决这类问题,所以需要另外一个函数出场,就是 match函数。
Match函数又叫定位函数,利用可以知道查询窗口的字段,在数据库表中的位置,从而获得vlookup函数对应的列数。具体看操作:
用MATCH(B11,D1:G1,0)代替了3,既性别在数据库表中的列数位置。
最后拖拽前,将按f4将需要锁住的单元格位置,看动图操作:
是不是还算简单呢!
总结:Vlookup+match函数也可以看成是一个固定的搭配,解决这类小型列表查询系统设计的字段不统一的问题。