Table of contents
ǞǞǞ VLOOKUP 函数是微软Excel中最强大、最灵活、最有用的函数之一,它可以通过查找相应的值来搜索和检索值--无论是完全匹配的值还是最接近匹配的值。 但是,对 VLOOKUP 函数,它执行的是区分大小写的查找。 它不能区分大写和小写字母。 本文将告诉你如何使 VLOOKUP 在Excel中区分大小写。
下载实践模板
你可以从这里下载免费的Excel练习模板,自己练习。
VLOOKUP对案例敏感.xlsxExcel中的VLOOKUP
VLOOKUP 代表着''。 垂直查询 它是一个让Excel在某一列中搜索某个值的函数,以便从同一行的不同列中返回一个值。
通用公式。
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
在这里。
论点 | 定义 |
---|---|
查找_值 | 你要匹配的值 |
表_数组 | 你想搜索你的值的数据范围 |
col_index_num | 对应的查询值列 |
范围查询 | 这是一个布尔值:TRUE或FALSE。 FALSE(或0)表示完全匹配,TRUE(或1)表示近似匹配。 |
在Excel中使VLOOKUP对大小写敏感的4种动态方法
考虑以下的学生数据集。 在该数据集中,有两个学生,他们的名字相同,但姓氏不同,获得的分数也不同。
我们想对John Show的分数进行查询。 因此,让我们应用通用的 VLOOKUP 公式来得到结果。
=vlookup(g3,b2:d7,3,0)
但正如你在上图中看到的,它给我们的结果是约翰-塞纳的分数,而不是约翰-秀的分数。 这是因为 VLOOKUP 在数组中搜索查找值,并返回它得到的第一个值;它不处理字母的大小写敏感性。
因此,为了得到一个区分大小写的 VLOOKUP 我们可以通过实现不同的函数来执行一个 VLOOKUP .
在接下来的章节中,我们将通过结合 INDEX函数 和 MATCH函数 的组合。 VLOOKUP 和 选定功能 , SUMPRODUCT函数 并运行 XLOOKUP函数 来进行区分大小写的 VLOOKUP 在Excel中。
1.使用INDEX、MATCH函数在Excel中开发一个对案例敏感的VLOOKUP
我们可以得到一个区分大小写的 VLOOKUP 通过结合 索引 和 匹配 一起运作。
的通用公式。 索引 和 匹配 功能是。
=INDEX(data,MATCH(TRUE,EXACT(value,lookup_column),0), column_number)
得到一个区分大小写的步骤 VLOOKUP 通过实施 索引 和 匹配 下文给出了这些函数。
步骤。
- 点击你想获得结果值的单元格(在我们的例子中,该单元格是 G4 ).
- 并写出以下公式。
=index(d2:d7,match(true,exact(g3,b2:b7),0))
现在看看上面的图片,你可以看到约翰-秀的分数在那里,而不是约翰-塞纳的分数。
公式分解。
让我们来分析一下这个公式,了解我们是如何发现约翰-秀的得分的。
- exact(g3,b2:b7) -> 该 精确 在Excel中的函数返回 为真 如果两个字符串完全相同,而 失败 如果两个字符串不匹配,我们会给 精确 函数的第二个参数是一个数组,并要求它找出是否 细胞G3 (由于我们给了一个数组作为输入,我们将得到一个数组的 为真 或 失败 而且输出是存储在Excel的内存中,而不是在一个范围内
输出。 {false;false;false;false;true}。
这是比较了 G3 由于我们得到了一个 为真 所以这意味着有一个完全匹配的查询值。 现在我们只需要找出这个查询值的位置(行号)。 为真 数组中的值。
ǞǞǞ 匹配 函数来拯救!
- match(true,exact(g3,b2:b7),0) -> 成为 match({false;false;false;false;true})
解释一下。 ǞǞǞ 匹配 函数返回第一个匹配值的位置。 在这个例子中,我们想得到一个精确的匹配,所以我们将第三个参数设置为 0 (TRUE)。
输出。 6
- index(d2:d7,match(true,exact(g3,b2:b7),0)) -> 成为 INDEX(D2:D7,6)
解释一下。 ǞǞǞ 索引 函数接受两个参数并返回一个一维范围内的特定值。 由于我们已经知道了行号的位置 (6) 来保存我们的期望值,我们将使用 索引 来提取该位置的值。
输出。 22
因此,约翰-秀的得分是22分。
2.结合VLOOKUP & CHOOSE函数,在Excel中执行对大小写敏感的VLOOKUP
我们可以实现两种方式的结合。 VLOOKUP 和 选择 函数来做一个区分大小写的 VLOOKUP 在Excel中。
2.1 使用帮助列使VLOOKUP对案例敏感
通过插入一个新的列,为查找数组中的每个项目获得一个唯一的查找值,是另一种有效的方法。 这有助于区分不同字母大小写的名字。 我们将把新插入的列命名为帮助列。
得到一个区分大小写的步骤 VLOOKUP 下面给出了带有帮助列的数据。
步骤。
- 在你想获取数据的列的左边插入一个辅助列。
- 在帮助列中,输入公式 =ROW() 它将在每个单元格中插入行号。
- 点击你想获得结果值的单元格(在我们的例子中,该单元格是 H4 ).
- 并写出以下公式。
=vlookup(max(exact(h3,$b$2:$b$7)*(row($b$2:$b$7)),$d$2:$e$7,2,0)
现在看看上面的图片,你可以看到约翰-秀的分数在那里,而不是约翰-塞纳的分数。
公式分解。
让我们来分析一下这个公式,了解我们是如何发现约翰-秀的得分的。
- exact(h3,$b$2:$b$7) -> 像以前的讨论。 精确 返回一个数组的 为真 和 失败 值,其中 为真 代表区分大小写的匹配,而 失败 所以,在我们的例子中,它将返回以下数组。
输出。 {false;false;false;false;true}。
- exact(h3,$b$2:$b$7)*(row($b$2:$b$7) -> 成为 { FALSE;FALSE;FALSE;FALSE;FALSE;TRUE} * {John,Roman,Seth,Dean,Finn,john}。
解释一下。 它表示在数组的 真/假 的行数和 B2:B7 每当有一个 为真 则提取行号,否则就是 失败 .
输出。 {0;0;0;0;0;7}
- max(exact(h3,$b$2:$b$7)*(row($b$2:$b$7)) -> 成为 最大() 0;0;0;0;0;7)
解释一下。 它将返回数字数组中的最大值。
输出。 7 (这也是存在完全匹配的行号)。
- vlookup(max(exact(h3,$b$2:$b$7)*(row($b$2:$b$7)), $d$2:$e$7,2,0) -> 成为 vlookup(7,$d$2:$e$7,2,0)
解释一下。 它可以简单地从数组中提取查询值 (D2:D7) 由于我们想找到一个完全匹配的,所以设置参数 0 (TRUE)。
输出。 22
因此,约翰-秀的得分是22分。
请注意。 你可以在数据集中的任何地方插入辅助列。 只要确保将其插入到你想要获取数据的列的左边。 然后你需要调整列号,在 VLOOKUP 职能的相应。
2.2 使用虚拟助手数据使VLOOKUP具有案例敏感性
使用虚拟帮助数据的想法几乎与插入帮助列相似,但这里的转折点是,不是在工作表中放入一个实际的列,而是公式本身作为列工作。
得到一个区分大小写的步骤 VLOOKUP 下面给出了与虚拟助手数据的关系。
步骤。
- 点击你想获得结果值的单元格(在我们的例子中,该单元格是 I4 ).
- 并写出以下公式。
=vlookup(max(exact(i3,$d$2:$d$7)*(row($d$2:$d$7))),choose({1,2},row($d$2:$d$7),$f$2:$f$7),2,0
现在看看上面的图片,你可以看到约翰-秀的分数在那里,而不是约翰-塞纳的分数。
完整公式中的以下部分在这里起作用,因为 助手数据 ,
=---CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7)---
公式分解。
让我们来分析一下这个公式,以了解虚拟助手数据是如何帮助找到约翰-秀的分数的。
- choose({1,2},row($d$2:$d$7),$f$2:$f$7) -> 如果你通过选择这个公式并按下 F9 ,它将给你的结果是。
输出。 {2,100;3,50;4,30;5,80;6,60;7,22}
解释一下。 它表示一个数组,向我们显示了行号和与之相关的值,从给定的数组中除以 逗号(,) 而每个 分号(;) 所以看起来,它创建了两列,包括行号和具有返回查询值的列(即我们案例中的行号和Score列)。
- vlookup(max(exact(i3,$d$2:$d$7)*(row($d$2:$d$7))),choose({1,2},row($d$2:$d$7),$f$2:$f$7),2,0 -> 成为 VLOOKUP(7,{2,100;3,50;4,30;5,80;6,60;7,22},2,0)
解释一下。 当你应用 VLOOKUP 函数,它只是从两个虚拟数据列中寻找第一列的查找值,并返回相应的值(即 分数 )。 这里的查询值是由 规模 和 精确 函数,我们从上述帮助列讨论的计算中得到。
输出。 22
因此,约翰-秀的得分是22分。
3.在Excel中使用SUMPRODUCT函数使VLOOKUP对大小写敏感
我们可以得到一个区分大小写的 VLOOKUP 通过实施 废物利用 在Excel中的函数。
通用配方。
=SUMPRODUCT(- -( EXACT(value,lookup_column)), result_column)
得到一个区分大小写的步骤 VLOOKUP 通过实施 废物利用 下面给出的是函数。
步骤。
- 点击你想获得结果值的单元格(在我们的例子中,该单元格是 G4 ).
- 并写出以下公式。
=sumproduct((exact(b2:b7,g3) * (d2:d7))
现在,看看上面的图片,你可以看到约翰-秀的分数在那里,而不是约翰-塞纳的分数。
公式分解。
让我们来分析一下这个公式,了解我们是如何发现约翰-秀的得分的。
- 精确(b2:b7,g3) -> 像以前的讨论。 精确 返回一个数组的 为真 和 失败 值,其中 为真 代表区分大小写的匹配,而 失败 所以,在我们的例子中,它将返回以下数组。
输出。 {false;false;false;false;true}。
- sumproduct((exact(b2:b7,g3) * (d2:d7)) -> 成为 sumproduct({false;false;false;false;true} * {100,50,30,80,60,22})
解释一下。 废物利用 然后简单地将每个数组中的值相乘,提取出一个最终的数组。 {false;false;false;false;false;22}。 .然后求和并返回其值。
输出。 22
因此,约翰-秀的得分是22分。
这个公式的神奇之处在于,。 失败 唯一幸存下来的价值是那些 为真 .
所以 牢记 如果数组中存在多个匹配,那么 废物利用 将返回所有这些匹配值的总和。 另外。 废物利用 所以,如果你想得到一个唯一的文本值,就利用我们讨论过的上述方法。
4.对案例敏感的XLOOKUP公式在Excel中执行对案例敏感的VLOOKUP
我们可以得到一个区分大小写的 VLOOKUP 通过执行 XLOOKUP 在Excel中的函数。
通用配方。
=XLOOKUP(TRUE,EXACT(lookup_value, lookup_array), return_array, "未找到")
得到一个区分大小写的步骤 VLOOKUP 通过实施 XLOOKUP 公式如下。
步骤。
- 点击你想获得结果值的单元格(在我们的例子中,该单元格是 G4 ).
- 并写出以下公式。
=XLOOKUP(TRUE, EXACT(G3, B2:B7), D2:D7, "未找到" )
现在看看上面的图片,你可以看到约翰-秀的分数在那里,而不是约翰-塞纳的分数。
公式分解。
让我们来分析一下这个公式,了解我们是如何发现约翰-秀的得分的。
- exact(g3, b2:b7) -> 像以前的讨论。 精确 返回一个数组的 为真 和 失败 值,其中 为真 代表区分大小写的匹配,而 失败 因此,在我们的例子中,它将返回以下数组。
输出。 {false;false;false;false;true}。
- XLOOKUP(TRUE, EXACT(G3, B2:B7), D2:D7, "未找到" ) -> 成为 XLOOKUP( {false;false;false;false;true}。 {100,50,30,80,60,22}, "未找到")
解释一下。 那么 XLOOKUP 搜索给定的数组(在我们的例子中,该数组是 B2:B7 ) 为 为真 值,并从返回数组中返回一个匹配值( D2:D7 ).
输出。 22
因此,约翰-秀的得分是22分。
请记住 , 如果在查找列中有多个相同的值(包括字母大小写),该公式将返回第一个找到的匹配值。
请注意。 这个 XLOOKUP 公式只适用于 Excel 365 .
你必须记住的关键点
- 由于要搜索的数据表数组的范围是固定的,不要忘记把 美元 符号在阵列表的单元格参考号前面。
- 在处理数组值时,不要忘记按 Ctrl + Shift + Enter 在提取结果时,只按键盘上的 进入 在处理数组值时不起作用。
- 在按下 Ctrl + Shift + Enter ,你会注意到,公式栏里的公式是在 大括号 {} 不要输入那些 括号 {} 你自己,Excel会自动为你做这个。
总结
这篇文章详细解释了如何使 VLOOKUP 我希望这篇文章能让你受益匪浅。 如果你对这一主题有任何疑问,请随时提问。