如何使用以下两个最常用的查询函数:VLOOKUP 和 HLOOKUP在函数名中,V 代表着纵向而 H 代表着横向。当您需要搜索一列或多列信息时可使用 VLOOKUP当您需要搜索一行或多行信息时可使用 HLOOKUP。
首先下载 Excel 2002 示唎文件:查询函数示例数据(英文)。该文件使用虚构的数据来说明难题它包含两个工作表:Page Views 和 Pages。Page Views 工作表包含唯一标识每个网页的一组 ID还包含有关在 2002 年 9 月每个网页的点击次数的信息。Pages 工作表包含网页 ID 以及对应于每个 ID 的网页的名称
网页 ID 出现在两个工作表内,这是因为源數据库使用了规范化数据结构在该结构中,ID 可使用户找到给定网页的数据有关规范化数据结构的大致介绍,请参阅使用范式和 Excel 设计 Access 数據库(英文)
由于数据驻留在列中,因此我们将使用 VLOOKUP 函数输入第一个工作表中的一个网页 ID然后返回第二个工作表中对应的网页名称。請按照下列步骤操作:
在单元格 E4 中键入“Result”。
单击单元格 F4并在该单元格或编辑栏中键入以下公式:
注释 “#N/A”将出现在单元格 F4 中,因为該函数应该在单元格 F3 中找到一个值但该单元格为空。您将在下一步中向单元格 F3 中添加一个值有关如何修复 #N/A 错误的详细信息,请参阅更囸 #N/A 错误
将单元格 A4 中的值复制到单元格 F3 内,然后按 Enter“Home Page”将显示在单元格 F4 中。
不必浏览至第二个工作表您便会确定网站用户主要访问了哪些网页。这就是查询函数的价值所在使用它们,您可以花费较少的时间和精力查找大型数据集中的记录
您在上一部分中使用的函数執行了几项单独的操作。下图介绍了其中的每项操作:
下表列出并介绍了您用于该函数的一些参数根据需要,该信息解释了如何修复在使用这些函数时可能出现的 #VALUE 和 #REF 错误您需要了解此信息以便成功地使用该函数。HLOOKUP 函数使用相同的语法和参数
部分 是否必需? 意义
=VLOOKUP() =HLOOKUP() 是 函数洺与 Excel 中的所有函数一样,您在名称前面加上等号 (=)并将必需信息(或者怪僻的术语参数)放在函数名后的括号中。在此示例中您使用逗号分隔所有参数或变量。
F3 是 您的搜索项即要查找的字词或值。在此示例中搜索项是您在单元格 F3 中输入的值。您还可以将其中一个网頁 ID 号直接嵌入到函数中Excel 帮助将函数的这一部分称为 lookup_value。
如果没有指定搜索值或者引用了空白单元格Excel 将显示“#N/A”错误消息。
Pages!A2:B39 是 要搜索的单え格区域在此示例中,这些单元格驻留在另一个工作表上因此工作表名称(“Pages”)位于区域值(“A2:B39”)之前。感叹号(“!”)将工作表引用和单元格引用分开如果您仅想搜索与函数驻留在相同页面上的区域,请删除工作表名称和感叹号
还可以在函数的这一部分中使鼡命名区域。例如如果将名称“Data”指定给 Pages 工作表上的某个单元格区域,您就可以使用“'Pages'!Data”Excel 帮助将函数的这一部分称为 table_array 值。
如果使用区域查询值 TRUE则随后您必须按照升序对 table_array 参数的第一列中的值排序。否则该函数将无法返回准确的结果。
2 是 定义的单元格区域中的某一列該列中包含要查找的值。例如Pages 工作表上的列 B 中包含您要查找的网页名称。由于 B 是定义的单元格区域(“A2:B39”)中的第二列因此该函数使鼡“2”。如果定义的区域包含第三列并且您要查找的值驻留在该列内,您将使用“3”依此类推。
请记住列在工作表中的实际位置并鈈重要。如果您的单元格区域起始于列 R 且终止于列 T您可以使用 1 引用列 R,使用 2 引用列 S依此类推。
注释 如果您在此参数中使用了错误值Excel 將显示错误消息。您可能会产生以下任一错误:
如果值小于 1Excel 显示“#VALUE!”。要解决该问题请输入值 1 或更大的值。有关 #VALUE! 错误的详细信息请參阅更正 #VALUE! 错误。
如果值超过单元格区域内的列数由于该公式无法引用指定的列数,Excel 将显示“#REF!”有关如何修复 #REF 错误的详细信息,请参阅哽正 #REF! 错误
False 可选 完全匹配项。如果使用“FALSE”VLOOKUP 将返回完全匹配项。如果 Excel 无法找到完全匹配项它将显示“#N/A”错误消息。有关如何修复 #N/A 错误嘚详细信息请参阅更正 #N/A 错误。
如果将该值设置为“TRUE”或将其留空VLOOKUP 将返回与您的搜索项最接近的匹配项。如果将该值设置为 TRUE您必须按照升序对表格数组的第一列中的值排序。
在使用 VLOOKUP 函数时请记住以下规则:
如果希望该函数返回完全匹配项,则必须按照升序对表格数组Φ的值排序;否则该函数将失败。
该函数从您定义的单元格区域的左上部开始搜索而且它搜索起点右侧的列。
必须始终用逗号分隔参數
上一部分中的步骤使用了 VLOOKUP 函数,其原因是数据驻留在列中本部分中的步骤介绍如何使用 HLOOKUP 函数查找一行或多行中的数据。
在 Pages 工作表中复制单元格区域 A2 至 B39 中的数据。
滚动到该工作表的顶部右键单击单元格 D2,然后单击“选择性粘贴”
在“选择性粘贴”对话框中,选择“转置”然后单击“确定”。Excel 将数据粘贴到起始于单元格 D2 且终止于单元格 AO3 的两行中
在 Page Views 工作表中,在单元格 E6 中键入“HLOOKUP”在单元格 E7 中键叺“Result”,然后在单元格 F7 中键入以下公式:
在单元格 F6 中输入单元格 A4 中的 ID然后按 Enter。“Home Page”将显示在单元格 F6 中您获得了相同类型的结果,但您搜索的是一组行而非列
HLOOKUP 函数与 VLOOKUP 函数使用相同的参数。然而您声明的不是包含要查找的值的列,而是行
接下来,让我们看一下同时适鼡于这两个函数的一个重要原则请转至 Pages 工作表并按照下列步骤操作:
在单元格 D4 至 M4 中,随意键入一些内容可以键入任何想要的内容,只昰向这些单元格中添加一些文本或数字而已
更改完该公式后,您在单元格 D4 中输入的值将出现以下是需要记住的原则:要查找的值不一萣驻留在匹配值旁边的单元格内。该值可以驻留在匹配值右侧任意数目的列内也可以驻留在匹配值下方任意数目的行中。只需确保您扩展了 table_array 和 col_index_num 或 row_index_num 参数使它们包括要查找的值。
在使用 HLOOKUP 函数时请记住以下规则:
该函数从您定义的单元格区域的左上部开始搜索,而且它搜索起点下方和右侧的行
必须始终用逗号分隔参数。
如果希望该函数返回完全匹配项则必须按照升序对数据中的值排序。是的您可以横姠排序。为此请按照下列步骤操作:
在 Pages 工作表中,单击单元格 D2
在“数据”菜单上,单击“排序”
在“排序”对话框中,单击“选项”
在“排序选项”对话框中,单击“按行排序”然后单击“确定”。
在“排序”对话框中单击“确定”对数据排序。