Excel如何快速设计一个数据库查询系统
利用VLOOKUP函数制作一个小型的数据库查询系统,类似身份证丢了去公安局挂失,警察一定要问你的身份证号码,然后在他的系统里进行查询,从而获得身份证对应的其他信息,比如姓名、家庭住址等。
首先你需要一个“数据库”表格,第一列编号列保证了每条记录的唯一性,员工编号是数据库每行数据的唯一标识,俗称关键字字段,如图3-138所示。
图3-138
操作
步骤1:把上面的表格当成数据库,然后在另外的数据区域创建一个查询窗口区域B11:E12,注意字段的顺序与数据库表格的字段顺序不一样,这也是本例的重点,如图3-139所示。
步骤2:接下来就可以利用VLOOKUP函数进行列表的查询用来匹配员工姓名:=VLOOKUP(B12,B3:E9,2,0)。写好VLOOKUP函数后,直接向右拖曳就可以获得数据库数据的自动匹配,如图3-140所示。
图3-139
图3-140
公式填充完毕后会发现仍然没按顺序进行匹配,未按照查询表字段进行匹配。因为VLOOKUP函数公式永远匹配第二列的记录,注意看图3-140公式中的第三个参数是2,所以单靠VLOOKUP函数就不能解决这类问题,需要另外一个函数MATCH出场。
步骤3:MATCH函数又叫定位函数,利用MATCH函数可以知道查询窗口的字段在数据库表中的位置,从而获得VLOOKUP函数对应的列数。如图3-141所示,用MATCH(C11,B2:E2)代替了2,即员工姓名在数据库表中的列数位置。
图3-141
拖曳填充柄前,按F4键将锁住引用的表格区域位置,如图3-142所示。
图3-142
结果发现年龄和性别报错!
步骤4:使用公式求值来查找问题,依次单击“公式→公式求值”,发现MATCH函数出现了问题,如图3-143所示。
图3-143
步骤5:将鼠标光标放在MATCH函数内,发现函数提示还有一个参数,用来控制匹配精确度,如图3-144所示。
图3-144
这里选择0作为精确匹配,最后在C12单元格中的公式为=VLOOKUP($B12,$B3:$E9,MATCH(C11,$B2:$E2,0),0),最后向右拖曳公式,自动得到年龄和性别匹配数据,如图3-145所示。
图3-145
搞定后,在“员工编号”列输入员工编号,就会自动获得对应编号的员工信息了。需要注意的是,如果无任何员工编号,VLOOKUP函数匹配会报错。这该怎么处理呢?前面技巧多次提到在VLOOKUP函数外面再嵌套一个IFERROR函数来规避这类报错问题。职场小伙伴赶紧操练起来吧!
总结: VLOOKUP+MATCH是制作这类数据表匹配查询系统的核心函数组合。如果后期学会了数据有效性的应用,将会使数据表查询系统更加人性化,本书在第四部分会与您分享这方面的Excel技巧,欢迎持续关注学习。