DGET 函数是一个简单的查找函数,用于从表格或数据库的列中检索单个值。它特别适用于从大型电子表格中提取单个数据点,避免了无休止的滚动查找所需信息。
本指南将引导您了解该函数的语法,展示一些实际示例,并讨论其优缺点。
以下是该函数的语法:
<code>=DGET(a,b,c)</code>
其中:
此函数的所有三个参数都是必需的,这意味着如果您省略任何参数,Excel 将返回 #VALUE! 错误。
为了更清晰地解释这一点,以下是一些示例。
让我们从这个非常基本的示例开始,这是一个员工 ID、姓名、部门和服务年限的列表。
上面的蓝色表格是我的检索表格,下面的绿色表格是我的数据库。目标是在输入员工 ID 到单元格 A2 时,在蓝色检索表格中返回员工的姓名、部门和服务年限。
在向您展示如何将数据从绿色数据库表拉到蓝色检索表之前,让我重点介绍上面屏幕截图中的一些重要内容:
为了避免每次都必须在单元格 A2 中键入员工的 ID,我将创建一个这些数字的下拉列表。
如果您想执行相同的操作,请选择相关的单元格,然后单击“数据”选项卡中的“数据验证”。然后,在“允许”字段中选择“列表”,并在“来源”字段中选择包含下拉数据的单元格。在我的示例中,即使我的数据库中只有 175 个 ID,我也已将数据验证列表扩展到单元格 A236,以便我可以添加任何其他 ID 到我的下拉列表中。
请注意,单元格 A2 现在包含一个下拉箭头,可以单击该箭头以显示完整的 ID 列表。
选择其中一个 ID 后,我就可以开始我的 DGET 检索了。
在单元格 B2 中,我将键入:
<code>=DGET(a,b,c)</code>
因为单元格 A4 到 E172 代表我的数据库,B1 中的值(名字)是我希望 Excel 搜索的类别或字段,而单元格 A1 和 A2(类别名称“ID”和从我的下拉列表中选择的单元格 A2 中的 ID)是条件。当我按下 Enter 键时,我可以看到 Excel 已根据单元格 A2 中的 ID 成功检索了名字。
参数 a 和 c 在列和行引用之前包含美元符号 ($) ,因为它们是绝对引用。换句话说,这些引用永远不会改变——我将始终使用 ID 来创建查找,数据库将始终位于这些单元格中。我在添加每个引用到公式后按 F4 添加了这些美元符号。
但是,我故意将参数 b 保留为相对引用,因为我现在将使用 Excel 的填充柄将相同的公式应用于我的检索表中的其余类别(姓氏、部门和服务年限)。
请注意,单元格 E2 中的公式如何因此从单元格 E1 中检索字段名称,而数据库和条件引用保持不变。
我现在可以使用我创建的下拉列表在单元格 A2 中选择不同的 ID 来检索其他员工的详细信息。
如果您使用 Excel 的表格格式工具格式化了数据库,则参数 a 将是表格的名称(也称为结构化引用),而不是其单元格引用。
为了使查找更具体——如果您由于存在多个匹配项而 DGET 持续返回 #NUM! 错误,这将非常有用——您可以在参数 c 中使用多个条件。
在这里,我想返回我知道在人事部门工作了十年但我不太记得名字的员工的 ID、名字和姓氏。
首先,在单元格 A2 中,我将键入:
<code>=DGET(a,b,c)</code>
其中单元格 A4 到 A172 包含我的数据库,单元格 A1 是类别,单元格 D1 到 E2 包含我的两个条件。实际上,Excel 在单元格 D2 和 E2 之间创建了一个 AND 逻辑序列来定义我的条件。
因为我固定了数据库和条件引用,但将类别引用保留为相对引用,所以我可以将公式复制到检索表中的其余单元格中,以提醒自己记住这位员工的姓名。
如果您更熟悉 VLOOKUP,您可能已经注意到您可以使用 DGET 从输入公式的位置右侧或左侧检索数据,这是 VLOOKUP 不提供的灵活性。
您还可以通过向检索表添加另一行来创建 OR 逻辑序列。例如,如果我知道某人被雇用了 1 年或 2 年,但我记不起他们的名字,我将在单元格 E2 中键入 1,在单元格 E3 中键入 2,并将参数 c 扩展到单元格 E1 到 E3。然后,Excel 将查找并返回服务年限为 1 或 2 的条目。但是,如果有多个人满足这些条件,Excel 将返回 #NUM! 错误。
您可能想知道,“当还有其他更高级的函数时,我为什么要使用 DGET?” 好吧,以下是使用此工具的一些好处:
另一方面,虽然 DGET 的简单性使其易于使用,但也意味着需要注意一些缺点:
DGET 缺点 | 如何解决 |
---|---|
一次只能查找一条记录。每次查找都需要其自己的标题和条件。 | 使用 XLOOKUP(如果返回数组位于查找数组的右侧,则使用 VLOOKUP),或为多个搜索创建单独的 DGET 检索区域。 |
如果有多个匹配项,DGET 将返回 #NUM! 错误。 | 修改数据,使其没有重复项,或使用 VLOOKUP,它将返回找到的第一个匹配值的数。 |
DGET 不适用于水平表(类别位于行中,数据位于列中)。 | 使用 Excel 的转置工具翻转数据库的结构,使用专为适应水平表而设计的 HLOOKUP,或使用可以搜索任何方向的 XLOOKUP。 |
在本文中,我讨论了 DGET、VLOOKUP、HLOOKUP 和 XLOOKUP,这些是 Excel 中一些最著名的查找函数。但是,如果我不提及 INDEX 和 MATCH,那就太疏忽了,因为——当组合使用时——它们是强大、灵活且适应性强的替代方案。
以上是如何在Excel中使用DGET函数的详细内容。更多信息请关注PHP中文网其他相关文章!