在处理Excel表格时,你是不是经常遇到这样的情况:明明数据都录好了,想查某个人的信息,却要在成百上千行数据里来回翻找。数据少还好说,一旦超过一百行,眼睛就开始抗议了。
很多人遇到这个问题,第一反应是VLOOKUP,这个函数确实能查到,但公式写起来稍显繁琐,而且返回的是一列一列的数据,需要写多个公式。今天介绍一个更直接的选择:DGET函数。
DGET函数是什么?
DGET函数是Excel的数据库函数之一,它的设计目标就是精准提取符合特定条件的单条记录。相对于VLOOKUP,DGET函数的逻辑更贴近人的思维方式——选一个条件,告诉Excel要取哪一列,剩下的交给它。
搭配下拉菜单,查询一秒完成
用DGET函数搭配下拉菜单做查询,你在下拉框里选个人名,下方该人员的序号、姓名、各科成绩全自动跳出来,整个过程不需要翻找、不需要滚动滚轮。
设置下拉菜单
在任意空白区域(比如G列)写上“姓名”作为标题,然后在下面一格设置数据验证。操作路径:【数据】→【数据验证】→【序列】,来源选择所有姓名所在的列,这样就会形成一个标准的下拉选择框。

设置DGET公式
在想要展示查询结果的区域,写上各个字段的标题,然后在对应的单元格输入公式:
=DGET($A$1:$E$9, G7, $G$3:$G$4)
公式写好一条,按住Ctrl+D向下填充,所有字段就全部自动匹配完成了。

三个参数简单明了:
-
第一个参数
$A$1:$E$9:告诉Excel数据存在哪里 -
第二个参数
G7:告诉Excel要取哪一列(序号、姓名、语文等) -
第三个参数
$G$3:$G$4:告诉Excel用什么作为查询条件
这些细节可能让你少走弯路
数据表的字段名必须和条件区域一致。如果数据表里的字段叫“姓名”,条件区域写成了“名字”,公式会直接报错。最简单的做法:直接从数据表复制字段名过去。
DGET函数要求条件唯一匹配。如果数据表里有两个人同名,公式会返回#NUM!错误,因为它不知道应该取哪一个。如果数据中有重名的情况,可以增加一个条件(比如加上工号或部门)来区分。
查询不到数据时返回#VALUE!。如果下拉菜单选了某个值,但数据表中没有对应的记录,公式会报错。可以套一层IFERROR:=IFERROR(DGET(...), "无此记录")
常见问题
1、DGET函数和VLOOKUP到底选哪个?
如果查询条件只有一个(比如根据姓名查成绩),DGET公式写起来更短,逻辑也更清晰。但如果需要返回多列,VLOOKUP配合COLUMN函数也能一次性搞定。DGET函数更适合条件明确、需要返回整条记录的场景。
2、为什么公式返回#NUM!错误?
说明查询条件匹配到了多条数据。DGET函数要求条件区域指向的结果是唯一的。请检查数据表中是否有重复记录,或增加一个条件来区分。
3、DGET函数在WPS中能用吗?
可以,WPS表格完全支持DGET函数。
总结
DGET函数搭配下拉菜单,选个人名,所有信息自动匹配。公式记住:=DGET(数据表, 字段, 条件区域),三个参数各司其职,用起来很简单。掌握DGET函数,查询这件事不用再烦恼啦!