Excel的VLOOKUP函数用于根据您选择的查找值查找和返回数据表中的信息。
通常,VLOOKUP要求查找值位于数据表的最左侧列中,并且该函数返回位于此值右侧的同一行中的另一个数据字段。
但是,通过将VLOOKUP与CHOOSE函数组合,可以创建一个左查找公式:
- 允许查找值来自数据表中的任何列
- 返回位于查找值左侧任何列中的信息
注意:这些说明适用于Excel版本2019,2016,2013,2010和Excel for Office 365。
05年1月1日教程:在左查找公式中使用VLOOKUP和CHOOSE函数
要创建示例图像中显示的左查找公式,请使用以下公式:
= VLOOKUP($ d $ 2,CHOOSE({1,2},$ F:$ F,$ d:$ d),2,FALSE)
在此示例中,公式使得可以找到由数据表的第3列中列出的不同公司提供的部件。
公式中CHOOSE函数的作用是诱使VLOOKUP相信第3列是第1列。因此,公司名称可以用作查找值,以查找每个公司提供的部件名称。
输入教程数据
- 输入标题 供应商 进入细胞 D1.
- 输入标题 部分 在细胞中 E1.
- 将上图中显示的数据表输入单元格 D4到F9
- 行 2和3 保留为空白以适应搜索条件和本教程中创建的左查找公式
打开VLOOKUP对话框
虽然可以直接在工作表中的单元格F1中键入公式,但很多人都难以使用公式的语法。
在这种情况下,使用VLOOKUP对话框更安全。几乎所有Excel的函数都有一个对话框,允许您在单独的行中输入每个函数的参数。
- 单击单元格 E2 工作表。 E2是将显示左查找公式的结果的位置。
- 点击 公式 功能区的标签。
- 点击 查找和参考 功能区中的选项可打开功能下拉列表。
- 点击 VLOOKUP 在列表中打开功能的对话框。
在VLOOKUP对话框中输入参数
函数的参数是函数用于计算结果的值。
在函数的对话框中,每个参数的名称位于单独的行上,后跟一个用于输入值的字段。
在对话框的正确行上为每个VLOOKUP参数输入以下值,如附图所示。
查找价值
查找值是用于搜索表数组的信息字段。 VLOOKUP返回与查找值相同的行中的另一个数据字段。
此示例使用单元格引用指向将公司名称输入工作表的位置。这样做的好处是可以轻松更改公司名称而无需编辑公式。
- 点击 Lookup_Array中 对话框中的行。
- 单击单元格 D2 将此单元格引用添加到 Lookup_Array中 线。
- 按下 F4 键盘上的键,使细胞参考绝对 - $ D $ 2
绝对细胞参考
绝对单元格引用用于查找值和表数组参数,以防止在将查找公式复制到工作表中的其他单元格时出错。
输入CHOOSE功能
表数组参数是从中检索特定信息的连续数据块。
通常,VLOOKUP仅查找查找值参数的右侧以查找表数组中的数据。要使其向左看,必须通过使用CHOOSE函数重新排列表数组中的列来欺骗VLOOKUP。
在此公式中,CHOOSE功能完成两项任务:
- 它创建一个只有两列宽的表数组(列D和F)。
- 它更改表数组中列的从右到左的顺序,以便列F首先出现,列D出现在第二列。
输入功能
手动输入函数时,每个函数的参数必须用逗号分隔。
- 在VLOOKUP功能对话框中,单击 表格数组 线。
- 输入以下内容 选择 功能:CHOOSE({1,2},$ F:$ F,$ d:$ d)
列索引号
通常,列索引号指示表数组的哪一列包含您之后的数据。但是,在此公式中,它指的是CHOOSE函数设置的列的顺序。
CHOOSE函数创建一个两列宽的表数组,其中列F首先跟随列D.由于所寻找的信息 - 部件名称 - 在D列中,因此列索引参数的值必须设置为2。
- 点击 Col_index_num为 对话框中的行。
- 输入a 2 在这一行。
范围查找
VLOOKUP的Range_lookup参数是一个逻辑值(仅限TRUE或FALSE),指示您是否希望VLOOKUP找到与查找值完全匹配或近似匹配的值。
- 如果为TRUE或者省略了该参数,则VLOOKUP返回与Lookup_value的完全匹配,或者,如果未找到完全匹配,则VLOOKUP返回下一个最大值。对于执行此操作的公式,Table_array的第一列中的数据必须按升序排序。
- 如果为FALSE,则VLOOKUP仅使用与Lookup_value的完全匹配。如果Table_array的第一列中有两个或多个值与查找值匹配,则使用找到的第一个值。如果未找到完全匹配,则返回#N / A错误。
在本教程中,由于我们正在寻找特定的部件名称,因此Range_lookup设置为 假 因此公式只返回完全匹配。
- 点击 Range_lookup 对话框中的行。
- 输入单词 假 在这一行表示我们希望VLOOKUP返回我们正在寻找的数据的完全匹配。
- 点击 好 完成左查找公式并关闭对话框。
- 因为我们尚未将公司名称输入到单元格D2中,所以单元格E2中会出现#N / A错误。
使用左查找公式返回数据
要查找哪些公司提供哪些部件,请在单元格中键入公司名称 D2 并按下 输入 键盘上的键。
部件名称显示在单元格E2中。
- 单击单元格 D2 在您的工作表中。
- 类型 小工具加 进入细胞 D2 并按下 输入 键盘上的键。
- 文本“Gadgets” - 由Gadgets Plus公司提供的部分 - 应显示在单元格E2中。
通过在单元格D2中键入其他公司名称来进一步测试查找公式,相应的部件名称应出现在单元格E2中。
如果单元格E2中出现#N / A等错误消息,请检查单元格D2中的拼写错误。
05年4月创建双列表数组
CHOOSE函数的语法是:
= CHOOSE(Index_number,Value1,Value2,… Value254)
CHOOSE函数通常根据输入的索引号从值列表(Value1到Value254)返回一个值。
如果索引号为1,则该函数从列表中返回Value1;如果索引号为2,则该函数从列表中返回Value2,依此类推。
输入多个索引号时,该函数以任何所需顺序返回多个值。通过创建数组来获得CHOOSE以返回多个值。
要输入数组,请用花括号或括号括起数字。为索引号输入两个数字:{ 1,2 }.
应该注意,CHOOSE不限于创建两列表。通过在数组中包含一个额外的数字 - 例如{1,2,3} - 以及值参数中的附加范围,CHOOSE会创建一个三列表。
通过将VLOOKUP的列索引号参数更改为包含所需信息的列号,其他列允许您使用左查找公式返回不同的信息。
05年05月05日使用CHOOSE功能更改列的顺序
在此公式中使用的CHOOSE函数中:
CHOOSE({1,2},$ F:$ F,$ d:$ d)
列F的范围列在列D之前。
由于CHOOSE函数设置VLOOKUP的表数组(该函数的数据源),因此切换CHOOSE函数中列的顺序将传递给VLOOKUP。
就VLOOKUP而言,表数组只有两列宽,左边是列F,右边是列D.由于列F包含我们要搜索的公司的名称,并且由于列D包含部件名称,因此VLOOKUP可以在查找位于查找值左侧的数据时执行其常规查找任务。
因此,VLOOKUP可以使用公司名称查找他们提供的部件。