DGET从数据库区域中返回满足条件的某个字段,但前提是匹配结果恰好一条。它适合编号、日期和状态共同确定唯一记录的表格;若可能返回多条,应改用FILTER。

DGET的结果数量规则

匹配数量返回结果
正好1条返回指定字段的值。
0条返回找不到记录的错误。
超过1条返回数字错误,提示条件不能唯一定位。
需要全部匹配行使用FILTER,不应压成一个DGET结果。

建立与表头一致的条件区域

  1. 确认数据库首行字段名

    编号、日期、状态等标题必须唯一,数据区域包含完整表头。

  2. 复制条件标题

    条件区域标题要与数据库字段逐字一致,下一行填写条件值;同一行代表AND,不同行代表OR。

  3. 指定返回字段

    第二参数可以写字段标题文字,也可以写列序号,标题文字更便于表结构变化后维护。

  4. 验证唯一性

    先用筛选查看条件实际命中几行,再让DGET返回字段,避免用IFERROR掩盖重复记录。

查询某项目某月份的负责人

数据库字段为项目编号、月份、状态、负责人。条件区域同一行填写项目P023、月份2026-07、状态有效,只命中一条时DGET返回负责人。

如果同一项目同月存在两条有效记录,DGET报错是有价值的异常信号。应先确认是否重复录入或业务允许多负责人,不能直接取第一条。

出现错误时逐项核对

  • 条件标题与数据库标题没有空格或字符差异。
  • 日期条件是真实日期而非外观相同的文本。
  • 数据库区域包含标题且没有漏掉新增行。
  • 多个匹配是数据规则问题还是条件遗漏已经说明。

DGET适合“业务上必须唯一”的查找。它对多结果报错反而能暴露数据异常;当需求本身允许多行时,应选择能返回数组的函数。

常规多条件返回单值可先比较Excel多条件查找公式:按区域和城市返回客户名称;条件允许一对多时,使用Excel FILTER筛选全部匹配项:一个编号返回多条记录比强行让DGET成功更合理。