让你的VLOOKUP函数应用从初学者变成大师的10个例子(第二部分)
在上一期的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或者邮箱删除。