10 个适用于初学者和高级用户的VLOOKUP 示例

10 个适用于初学者和高级用户的VLOOKUP 示例

VLOOKUP 函数是基准。

如果您知道如何使用VLOOKUP 函数,您就知道Excel 中的一些内容。

如果你不这样做,你最好不要在简历中将Excel 列为你的强项之一。

我参加了小组面试,一旦候选人提到Excel 作为他的专业领域,首先被问到的是– 你明白了– VLOOKUP 功能。

既然我们知道了这个Excel 函数的重要性,那么完全掌握它以便能够自豪地说——“我在Excel 中知道一两件事”是有道理的。

这将是一个庞大的VLOOKUP 教程(按照我的标准)。

我将介绍有关它的所有知识,然后向您展示有用且实用的VLOOKUP 示例。

何时在Excel 中使用VLOOKUP 函数?

VLOOKUP 函数最适合您在列中查找匹配数据点的情况,当找到匹配数据点时,您会在该行的右侧并从指定数量的单元格中获取值右侧的列。

让我们在这里举一个简单的例子来了解何时在Excel 中使用Vlookup。

请记住,当考试成绩单出来并粘贴在布告栏上时,每个人都曾经疯狂地寻找自己的名字和分数(至少那是我在学校时经常发生的事情)。

这是它的工作原理:

  • 您走到布告栏并开始寻找您的姓名或注册号(在列表中从上到下移动您的手指)。
  • 一旦你发现你的名字,你就会把眼睛移到名字/注册号的右边来查看你的分数。

这正是Excel VLOOKUP 功能为您所做的(请在下一次采访中随意使用此示例)。

VLOOKUP 函数在列中查找指定值(在上面的示例中,它是您的名字),当它找到指定的匹配项时,它会在同一行中返回一个值(您获得的标记)。

句法

=VLOOKUP(查找值, 表数组, col_index_num, [范围查找])

输入参数

  • lookup_value –这是您试图在表的最左列中查找的查找值。它可以是一个值、一个单元格引用或一个文本字符串。在记分表示例中,这将是您的姓名。
  • table_array –这是您要在其中查找值的表数组。这可以是对单元格范围或命名范围的引用。在分数表示例中,这将是包含每个主题的每个人的分数的整个表
  • col_index –这是您要从中获取匹配值的列索引号。在分数表示例中,如果您想要数学的分数(这是包含分数的表中的第一列),您可以查看第1 列。如果您想要物理的分数,您可以查看第1 列2.
  • [range_lookup] –在这里您可以指定您想要精确匹配还是近似匹配。如果省略,则默认为TRUE – 近似匹配(请参阅下面的附加说明)。

附加说明(无聊,但重要的是要知道)

  • 匹配可以是精确的(FALSE 或range_lookup 中的0)或近似的(TRUE 或1)。
  • 在近似查找中,确保列表按升序(从上到下)排序,否则结果可能不准确。
  • 当range_lookup 为TRUE(近似查找)并且数据按升序排序时:
    • 如果VLOOKUP 函数找不到该值,则返回小于lookup_value 的最大值。
    • 如果lookup_value 小于最小值,则返回#N/A 错误。
    • 如果lookup_value 是文本,可以使用通配符(参考下面的示例)。

现在,希望你对VLOOKUP 函数能做什么有一个基本的了解,让我们来剥洋葱,看看VLOOKUP 函数的一些实际例子。

10 个Excel VLOOKUP 示例(基础和高级)

这里有10 个使用Excel Vlookup 的有用示例,将向您展示如何在日常工作中使用它。

相关问题  如何在Excel COUNTIF 和COUNTIFS 中使用多个条件

示例1 – 查找Brad 的数学分数

在下面的VLOOKUP 示例中,我有一个列表,最左边的列中有学生姓名,B 到E 列中有不同科目的分数。

VLOOKUP 示例- 使用VLOOKUP 函数查找布拉德标记的数据集

现在让我们开始工作并使用VLOOKUP 函数来做它最擅长的事情。从上面的数据中,我需要知道布拉德在数学上的得分是多少。

从上面的数据中,我需要知道布拉德在数学上的得分是多少。

这是返回Brad 数学分数的VLOOKUP 公式:

=VLOOKUP("Brad",$A$3:$E$10,2,0)

上面的公式有四个参数:

  • “Brad”: ——这是查找值。
  • $A$3:$E$10 – 这是我们正在查看的单元格范围。请记住,Excel 在最左侧的列中查找查找值。在此示例中,它将在A3:A10 (这是指定数组的最左侧列)中查找名称Brad。
  • 2 – 一旦函数发现Brad 的名字,它将转到数组的第二列,并返回与Brad 相同的行中的值。这里的值2 表示我们正在从指定数组的第二列中查找分数。
  • 0 – 这告诉VLOOKUP 函数只查找完全匹配。

以下是上述示例中VLOOKUP 公式的工作原理。

首先,它在最左边的列中查找值Brad。它从上到下查找单元格A6 中的值。

VLOOKUP 函数从上到下扫描列表

一旦找到该值,它就会在第二列中向右移动并获取其中的值。

找到匹配项后,VLOOKUP 将向右移动到指定列

您可以使用相同的公式构造来获得任何人在任何科目中的分数。

例如,要查找Maria 在化学中的分数,请使用以下VLOOKUP 公式:

=VLOOKUP("Maria",$A$3:$E$10,4,0)

Excel Vlookup 示例1a 玛丽亚化学

在上面的示例中,查找值(学生姓名)用双引号输入。您还可以使用包含查找值的单元格引用。

使用单元格引用的好处是它使公式动态化。

例如,如果您有一个包含学生姓名的单元格,并且您正在获取数学的分数,那么当您更改学生姓名时,结果会自动更新(如下所示):

VLOOKUP 示例展示了如何使用下拉菜单的功能

如果您输入的查找值在最左侧列中找不到,则会返回#N/A 错误。

示例2 – 双向查找

在上面的示例1 中,我们对列值进行了硬编码。因此,公式将始终返回Math 的分数,因为我们使用2 作为列索引号。

但是,如果您想让VLOOKUP 值和列索引号都动态化怎么办。例如,如下所示,您可以更改学生姓名或科目名称,VLOOKUP 公式会获取正确的分数。这是一个双向VLOOKUP 公式的示例。

这是一个双向VLOOKUP 函数的示例。

VLOOKUP 示例- Excel 中的两种方式查找

要制作这个双向查找公式,您还需要使列动态化。因此,当用户更改主题时,公式会自动选择正确的列(数学为2,物理为3,依此类推..)。

为此,您需要使用MATCH 函数作为列参数。

这是VLOOKUP 公式,将执行此操作:

=VLOOKUP(G4,$A$3:$E$10,MATCH(H3,$A$2:$E$2,0),0)

上面的公式使用MATCH(H3,$A$2:$E$2,0) 作为列号。MATCH 函数将主题名称作为查找值(在H3 中)并返回其在A2:E2 中的位置。因此,如果您使用Math,它将返回2,因为在B2 中找到了Math(这是指定数组范围中的第二个单元格)。

示例3 – 使用下拉列表作为查找值

在上面的例子中,我们必须手动输入数据​​。这可能既耗时又容易出错,尤其是当您有大量查找值时。

在这种情况下,一个好主意是创建一个查找值的下拉列表(在这种情况下,它可以是学生姓名和科目),然后简单地从列表中进行选择。

根据选择,公式将自动更新结果。

如下图所示:

使用下拉列表作为查找值

这是一个很好的仪表板组件,因为您可以在后端拥有一个包含数百名学生的庞大数据集,但最终用户(比如说老师)可以通过简单地从下拉。

如何做到这一点:

本例中使用的VLOOKUP 公式与示例2 中使用的相同。

=VLOOKUP(G4,$A$3:$E$10,MATCH(H3,$A$2:$E$2,0),0)

查找值已转换为下拉列表。

以下是创建下拉列表的步骤:

  • 选择需要下拉列表的单元格。在此示例中,在G4 中,我们需要学生姓名。
  • 转到数据-> 数据工具-> 数据验证。
  • 在数据验证对话框的设置选项卡中,从允许下拉列表中选择列表。
  • 在源中,选择$A$3:$A$10
  • 单击确定。

现在您将在单元格G4 中看到下拉列表。同样,您可以在H3 中为主题创建一个。

示例4 – 三向查找

什么是三向查找?

在示例2 中,我们使用了一个查找表,其中包含不同科目学生的分数。这是一个双向查找的示例,因为我们使用两个变量来获取分数(学生姓名和受试者姓名)。

现在,假设在一年内,一个学生要参加三个不同级别的考试,单元考试、期中考试和期末考试(这是我学生时代的考试)。

三向查找将能够从指定的考试级别获取学生对指定科目的分数。

如下图所示:

使用VLOOKUP 函数进行3 路查找的示例

在上面的示例中,VLOOKUP 函数可以在三个不同的表(单元测试、期中和期末考试)中查找并返回指定学生在指定科目中的分数。

这是单元格H4 中使用的公式:

=VLOOKUP(G4,CHOOSE(IF(H2="Unit Test",1,IF(H2="Midterm",2,3)),$A$3:$E$7,$A$11:$E$15,$A$19:$E$23),MATCH(H3,$A$2:$E$2,0),0)

此公式使用CHOOSE 函数来确保引用正确的表。我们来分析一下公式的CHOOSE部分:

CHOOSE(IF(H2=”Unit Test”,1,IF(H2=”Midterm”,2,3)),$A$3:$E$7,$A$11:$E$15,$A$19:$E$23)

公式的第一个参数是IF(H2=”Unit Test”,1,IF(H2=”Midterm”,2,3)),它检查单元格H2 并查看所引用的考试级别。如果是单元测试,则返回$A$3:$E$7,其中包含单元测试的分数。如果是期中考试,则返回$A$11:$E$15,否则返回$A$19:$E$23。

这样做会使VLOOKUP 表数组动态化,从而使其成为三向查找。

相关问题  调整Google隐私权设定:语音、广告、位置等等

示例5 – 从列表中获取最后一个值

您可以创建一个VLOOKUP 公式来获取列表中的最后一个数值。

您可以在Excel 中使用的最大正数是 9.99999999999999 + 307 。 这也意味着VLOOKUP号中最大的查找号也是一样的。

我认为您永远不需要任何涉及如此大数字的计算。这正是我们可以用来获取列表中最后一个数字的方法。

假设您有一个如下所示的数据集(在A1:A14 中),并且您想要获取列表中的最后一个数字。

在Excel 中使用VLOOKUP 函数从列表中查找最后一个值

这是您可以使用的公式:

=VLOOKUP(9.99999999999999E+307,$A$1:$A$14,TRUE)

请注意,上面的公式使用近似匹配VLOOKUP  (注意公式末尾的TRUE,而不是FALSE 或0)。另外,请注意,此VLOOKUP 公式无需对列表进行排序即可工作。

以下是近似VLOOKUP 函数的工作原理。它从上到下扫描最左边的列。

  • 如果找到完全匹配,则返回该值。
  • 如果它找到一个高于查找值的值,则返回其上方单元格中的值。
  • 如果查找值大于列表中的所有值,则返回最后一个值。

在上面的例子中,第三种情况在起作用。

由于9.99999999999999 + 307是Excel 中可以使用的最大数字,因此当它用作查找值时,它会返回列表中的最后一个数字。

同样,您也可以使用它返回列表中的最后一个文本项。这是可以做到这一点的公式:

=VLOOKUP("zzz",$A$1:$A$8,1, TRUE )

Excel Vlookup 示例最后一个值名称

遵循同样的逻辑。Excel 会查看所有名称,并且由于zzz 被认为比任何以zzz 之前的字母开头的名称/文本都大,因此它将返回列表中的最后一项。

示例6 – 使用通配符和VLOOKUP 进行部分查找

Excel 通配符在许多情况下都非常有用。

正是这种神奇的药水赋予了你的配方超能力。

当您必须在列表中查找值并且没有完全匹配时,需要进行部分查找。

例如,假设您有一个如下所示的数据集,并且您想在列表中查找公司ABC,但列表中有ABC Ltd 而不是ABC。

Excel 中的通配符- 部分查找

您不能使用ABC 作为查找值,因为A 列中没有完全匹配。近似匹配也会导致错误的结果,并且需要按升序对列表进行排序。

但是,您可以在VLOOKUP 函数中使用通配符来获取匹配项。

在单元格D2 中输入以下公式并将其拖动到其他单元格:

=VLOOKUP("*"&C2&"*",$A$2:$A$8,1,FALSE)

使用带有通配符的VLOOKUP 查找部分匹配项

这个公式是如何工作的?

在上面的公式中,不是按原样使用查找值,而是在两侧用通配符星号(*) – “*”&C2&”*”

星号是Excel 中的通配符,可以表示任意数量的字符。

在查找值的两侧使用星号告诉Excel 它需要查找包含C2 中的单词的任何文本。它可以在C2 中的文本之前或之后有任意数量的字符。

例如,单元格C2 包含ABC,因此VLOOKUP 函数会查看A2:A8 中的名称并搜索ABC。它在单元格A2 中找到匹配项,因为它包含ABC Ltd 中的ABC。 ABC 的左侧或右侧是否有任何字符都没有关系。在文本字符串中有ABC 之前,它将被视为匹配项。

注意:VLOOKUP 函数总是返回第一个匹配值并停止进一步查找。因此,如果列表中有ABC 有限公司和ABC Corporation,它将返回第一个而忽略其余的。

示例7 – 尽管查找值匹配,但VLOOKUP 返回错误

当您看到有匹配的查找值并且VLOOKUP 函数返回错误时,它会让您发疯。

例如,在下面的情况下,有一个匹配项(Matt),但VLOOKUP 函数仍然返回错误。

使用VLOOKUP 时多余空格导致错误的示例

现在虽然我们可以看到有匹配,但我们用肉眼看不到的是可能有前导或尾随空格。如果您在查找值之前、之后或之间有这些额外的空格,则它不是完全匹配。

当您从数据库导入数据或从其他人那里获取数据时,通常会出现这种情况。这些前导/尾随空间有潜入的趋势。

这里的解决方案是TRIM 功能。它删除任何前导或尾随空格或单词之间的额外空格。

这是可以为您提供正确结果的公式。

=VLOOKUP("Matt",TRIM($A$2:$A$9),1,0)

由于这是一个数组公式,请使用Control + Shift + Enter 而不是Enter。

另一种方法可能是首先使用TRIM 函数处理您的查找数组,以确保所有额外的空格都消失了,然后像往常一样使用VLOOKUP 函数。

示例8 – 进行区分大小写的查找

默认情况下,VLOOKUP 函数中的查找值不区分大小写。例如,如果您的查找值是MATT、matt 或Matt,则对于VLOOKUP 函数来说都是一样的。无论大小写如何,它都会返回第一个匹配值。

但是如果要进行区分大小写的查找,则需要使用EXACT 函数和VLOOKUP 函数。

这是一个例子:

进行区分大小写的查找

如您所见,三个单元格名称相同(在A2、A4 和A5 中)但字母大小写不同。在右边,我们有三个名字(Matt、MATT 和matt)以及他们在数学中的分数。

现在没有配备VLOOKUP 函数来处理区分大小写的查找值。在上面的例子中,它总是返回38,这是Matt 在A2 中的分数。

相关问题  KB5003173 问题- 针对0x800f0922 错误更新失败的最佳修复

为了使其区分大小写,我们需要使用辅助列(如下所示):

Excel Vlookup 示例- 区分大小写的辅助行

要获取帮助列中的值,请使用=ROW() 函数。它只会获取单元格中的行号。

一旦你有了帮助列,这里就是给出区分大小写的查找结果的公式。

=VLOOKUP(MAX(EXACT(E2,$A$2:$A$9)*(ROW($A$2:$A$9))),$B$2:$C$9,2,0)

现在让我们分解并了解它的作用:

  • EXACT(E2,$A$2:$A$9) – 这部分会将E2 中的查找值与A2:A9 中的所有值进行比较。它返回一个TRUE/FALSE 数组,其中TRUE 在完全匹配的情况下返回。在这种情况下,它将返回以下数组:{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}。
  • EXACT(E2,$A$2:$A$9)*(ROW($A$2:$A$9) – 这部分将TRUE/FALSE 数组与行号相乘。只要有TRUE,它就会给出行号,否则它给出0。在这种情况下,它将返回{2;0;0;0;0;0;0;0}。
  • MAX(EXACT(E2,$A$2:$A$9)*(ROW($A$2:$A$9))) – 這部分返回數字數組中的最大值。在这种情况下,它将返回2(这是完全匹配的行号)。
  • 现在我们只需将此数字用作查找值并将查找数组用作B2:C9

注意:由于这是一个数组公式,因此请使用Control + Shift + Enter 而不是只输入。

示例9 – 将VLOOKUP 与多个条件一起使用

Excel VLOOKUP 函数,在其基本形式中,可以查找一个查找值并从指定的行返回相应的值。

但通常需要在具有多个条件的Excel 中使用VLOOKUP。

假设您有一个包含学生姓名、考试类型和数学分数的数据(如下所示):

Excel Vlookup 示例- 第二次查找

使用VLOOKUP 函数获取每个学生在各自考试级别的数学分数可能是一个挑战。

例如,如果您尝试将VLOOKUP 与Matt 作为查找值一起使用,它将始终返回91,这是列表中第一次出现Matt 的分数。要获得每种考试类型(单元测试、期中考试和期末考试)的Matt 分数,您需要创建一个唯一的查找值。

这可以使用辅助列来完成。第一步是在分数的左侧插入一个辅助列。

Excel Vlookup 示例- 第二个查找助手

现在,要为每个名称实例创建一个唯一限定符,请在C2 中使用以下公式:=A2&”|”&B2

将此公式复制到辅助列中的所有单元格。这将为名称的每个实例创建唯一的查找值(如下所示):

Excel VLOOKUP-函数示例助手

现在,虽然有重复的名字,但当名字与考试水平结合起来时,就没有重复了。

这很容易,因为现在您可以使用帮助列值作为查找值。

这是在G3:I8 中为您提供结果的公式。

=VLOOKUP($F3&"|"&G$2,$C$2:$D$19,2,0)

这里我们结合了学生姓名和考试级别得到了lookup值,我们使用这个lookup值在helper列中检查得到匹配的记录。

Excel VLOOKUP 函数示例公式唯一查找

注意:在上面的例子中,我们使用了 | 在辅助列中加入文本时作为分隔符。在一些非常罕见(但可能)的情况下,您可能有两个不同的标准,但结合起来最终会给出相同的结果。这是一个例子:

具有多个条件的VLOOKUP - 为什么使用分隔符

请注意,虽然A2 和A3 不同,B2 和B3 不同,但组合最终是相同的。但是,如果您使用分隔符,那么即使组合也会不同(D2 和D3)。

这是一个关于如何在不使用辅助列的情况下使用具有多个条件的VLOOKUP 的教程。

示例10 – 在使用VLOOKUP 函数时处理错误

Excel VLOOKUP 函数在找不到指定的查找值时返回错误。如果VLOOKUP 找不到值,您可能不希望丑陋的错误值干扰数据的美观。

您可以轻松删除带有任何含义全文的错误值,例如“不可用”或“未找到”。

例如,在下面的示例中,当您尝试在列表中查找Brad 的分数时,它会返回错误,因为Brad 的名字不在列表中。

Excel Vlookup 示例- 处理错误

要删除此错误并将其替换为有意义的内容,请将VLOOKUP 函数包装在IFERROR 函数中。

这是公式:

=IFERROR(VLOOKUP(D2,$A$2:$B$7,2,0),"Not Found")

IFERROR 函数检查第一个参数(在本例中为VLOOKUP 函数)返回的值是否为错误。如果不是错误,则通过VLOOKUP 函数返回值,否则返回Not Found。

Excel Vlookup 示例- 未找到处理错误

IFERROR 函数从Excel 2007 开始提供。如果您使用的是之前的版本,请使用以下功能:

=IF(ISERROR(VLOOKUP(D2,$A$2:$B$7,2,0)),"Not Found",VLOOKUP(D2,$A$2:$B$7,2,0))

这就是本VLOOKUP 教程中的内容。

我试图介绍在Excel 中使用Vlookup 函数的主要示例。如果您想查看添加到此列表中的更多示例,请在评论部分告诉我。

相关Excel函数:

  • Excel HLOOKUP 函数。
  • Excel XLOOKUP 函数
  • Excel 索引函数。
  • Excel 间接函数。
  • Excel 匹配函数。
  • Excel 偏移函数。

哦,您好 👋很高兴认识你。

订阅我们的电子报,定期发送很棒的科技内到您的邮

发表评论