手机版

让你的VLOOKUP函数应用从初学者变成大师的10个例子(第二部分)

时间:2021-09-22 来源:互联网 编辑:宝哥软件园 浏览:

在上一期的10个让你的VLOOKUP函数应用从初学者变成大师的例子(第一部分)中,我们介绍了5个例子,下面是另外5个例子。

示例6:使用通配符的部分搜索。

当您需要在列表中找到一个值,但它不完全匹配时,您需要找到它的一部分。

如图11所示,如果想在列表中找到“长江”,列表中只有“长江发电集团”。

图11。

“长江”不能作为搜索值,因为a列没有完全匹配,近似也会导致结果不正确,列表需要按升序排序。

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

在D2单元格中输入公式:

=VLOOKUP(“*”C2“*”,$A$2:$A$6,1,FALSE)

并将其向下拖动到单元格D6,如图12所示。

图12。

在上面的公式中,星号(*)通配符连接到搜索值的两侧,而不是直接使用搜索值。星号通配符可以代表任意数量的字符。

这样,告诉Excel在单元格C2中查找包含该文本的任何文本。在示例中,遍历A2:A6,找到包含“长江”的单元格。

请注意,如果列表中的两个单元格包含“长江”,VLOOKUP函数只返回第一个找到的值。

示例7:虽然匹配查找值,但返回了一个错误。

有时,当有匹配的查找值时,VLOOKUP函数会返回一个错误。

例如,如下图13所示,列表中有一个匹配的值“Matt”,但是VLOOKUP函数仍然返回一个错误。

图13。

其实我们看到的只是表面,并没有看到列表中的文本字符串前后可能有空格。如果文本字符串中有多余的空格,包括前面、后面或中间的空格,则它不是匹配的值。

从数据库或其他地方导入数据时,通常会出现这种情况。

TRIM功能可以用来解决这个问题。TRIM函数删除文本字符串中间的前导或尾随空格或额外空格。

以下公式得到正确的结果:

=VLOOKUP(“Matt”,TRIM(2:澳元9澳元),1,0)

这是一个数组公式。输入后同时按Ctrl+Shift+Enter。

图14。

示例8:执行区分大小写的查找。

默认情况下,VLOOKUP函数中的查找值不区分大小写。例如,搜索值是matt、Matt或MATT,对于VLOOKUP函数也是如此,并返回找到的第一个匹配值,而不管大小写。

如果您想要执行区分大小写的搜索,您需要将EXACT函数与VLOOKUP函数一起使用。

如图15所示。

图15。

可以看到,单元格A2、A4、A5名称相同但大小写不同,对应的数学成绩在右侧。

因为VLOOKUP函数没有区分大小写的查找值的功能,所以在上面的例子中总是返回38的值。

为了区分大小写,您需要使用辅助列,如图16所示。

图16

在单元格B2中输入公式:=ROW(),将其下拉到单元格B9,并填写辅助列。这些值是单元格的行号。

在单元格F2中输入数组公式:

=VLOOKUP(MAX(EXACT(E2,2:澳元$9澳元)*(ROW(2:澳元$9澳元)))、B$2:澳元$9,2,0加元)

其中:

EXACT(E2,$A$2:$A$9)——将单元格E2中的搜索值与单元格区域A2:A9中的所有值进行比较,并返回一个由TRUE/FALSE { TRUE;假;假;假;假;假;假;TRUE},其中TRUE表示完全匹配。

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。

使用上面获得的值2作为搜索值,并在单元格区域B2:C9中执行搜索以返回相应的值。

示例9:多条件查找。

在VLOOKUP函数的最基本用法中,找到一个搜索值,并在找到的值所在的行中返回相应的值。但是,使用VLOOKUP函数执行多条件搜索是很常见的。

如图17所示,表中有学生姓名、考试类型和数学成绩。

图17

为了获得每个学生在每种测试中的数学成绩,有必要创建一个唯一的搜索值。为此,添加一个辅助列,如图18所示。

图18。

单元格C2中的公式:

=A2" "B2

下到C16牢房。这样,在c列中创建一个唯一值列表,这个辅助列可以用作搜索值。

单元格G3中的公式为:

=VLOOKUP($F3" "G$2,C $ 2:D $ 16,2,0)

拖放到单元格区域G3:I7,结果如图19所示。

该公式使用学生姓名和考试类型的组合作为搜索值。

图19。

在示例中,我们在合并两个文本时使用分隔符作为辅助列,这可以避免一些意外情况。如下图20所示,如果不使用分隔符,组合值将是相同的。

图20。

示例10:使用VLOOKUP函数时处理错误。

当找不到指定的搜索值时,VLOOKUP函数会返回错误值,您可能不想影响数据的美观。

可以使用“未找到”等有意义的文本来代替错误值。

在图21中,我试图找到黄蓉的分数,但返回了一个错误值#N/A,因为这个名字不在列表中。

图21。

下面结合VLOOKUP函数使用IFERROR函数,用有意义的文本替换错误值:

=if错误(vlookup (D2,$ a $2: $ a $6,2,0),“未找到”)。

if函数检查第一个参数的返回值是否为错误值,如果不是错误值,则返回第二个参数的值,在本例中为“未找到”。

图22。

如果是2007年以前的Excel版本,请使用以下公式:

=if (iserror (VLOOKUP(D2,2:澳元$B$6,2,0)),“VLOOKUP(D2,2:澳元$ b $6,2,0)未找到”。

标签

VLOOKUP函数是一个常用的搜索函数。结合具体情况,使用其他功能,使用一些技巧,可以让VLOOKUP功能发挥更大的作用。

版权声明:让你的VLOOKUP函数应用从初学者变成大师的10个例子(第二部分)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。