用excel-vlookups实现精确的事例匹配

用excel-vlookups实现精确的事例匹配,excel,excel-formula,Excel,Excel Formula,我有一个包含“唯一”ID的电子表格。问题是它们只区分大小写,这意味着我有:a06D000000QO5uW和a06D000000QO5uW 我想对这些ID执行vlookup,并提取相关值。使用我发现的这篇文章可以进行区分大小写的匹配: 我发现的问题是,因为vlookup嵌套在确切的函数中,所以它返回它找到的第一个匹配项,这可能不是我要查找的匹配项。如果我使用文章中的数据示例,它看起来像: Name Age Joe Mary 32 joe 48 Bob

我有一个包含“唯一”ID的电子表格。问题是它们只区分大小写,这意味着我有:a06D000000QO5uW和a06D000000QO5uW

我想对这些ID执行vlookup,并提取相关值。使用我发现的这篇文章可以进行区分大小写的匹配:

我发现的问题是,因为vlookup嵌套在确切的函数中,所以它返回它找到的第一个匹配项,这可能不是我要查找的匹配项。如果我使用文章中的数据示例,它看起来像:

Name    Age     Joe
Mary    32  
joe     48  
Bob     53  
Sue     27  
Joe     30  
=IF(EXACT(C1,VLOOKUP(C1,A1:B6,1,FALSE))=TRUE,VLOOKUP(C1,A1:B6,2,FALSE),"No exact match")
查找结果如下所示:

Name    Age     Joe
Mary    32  
joe     48  
Bob     53  
Sue     27  
Joe     30  
=IF(EXACT(C1,VLOOKUP(C1,A1:B6,1,FALSE))=TRUE,VLOOKUP(C1,A1:B6,2,FALSE),"No exact match")
问题似乎是测试“Joe”的vlookup首先遇到了“Joe”,因为它不区分大小写,所以作为匹配返回,这意味着它永远不会到达“Joe”。然后,确切的函数失败,因为它正试图测试“Joe”和“Joe”

这有什么办法吗?我真的不想走VBA路线,因为我们有Mac和Windows用户的混合,所以我想保持公式化。

您的问题(在这个确切的例子中)已经涵盖了

  • 数组公式(按Ctrl-Shift键) )在对阵乔的比赛中,齐队将返回30分(如果没有找到对手,则不适用)<代码>=索引(B1:B6,匹配(1,--精确(A1:A6,C1),0))
  • 同一篇文章中提到的一个更简单的公式是
    =查找(1,1/精确(A1:A6,C1),B1:B6)

您的问题(使用这个确切的示例)已包含在内

  • 数组公式(按Ctrl-Shift键) )在对阵乔的比赛中,齐队将返回30分(如果没有找到对手,则不适用)<代码>=索引(B1:B6,匹配(1,--精确(A1:A6,C1),0))
  • 同一篇文章中提到的一个更简单的公式是
    =查找(1,1/精确(A1:A6,C1),B1:B6)

我认为有一种稍微好一点的方法,因为它不使用数组公式

=INDEX($B$2:$B$6,MATCH(TRUE,INDEX(EXACT(C1,$A$2:$A$6),0),0))

我认为有一个稍微好一点的方法,因为它不使用数组公式

=INDEX($B$2:$B$6,MATCH(TRUE,INDEX(EXACT(C1,$A$2:$A$6),0),0))

他很有魅力。甚至文章中的那个人也提到了微软的文章,以及它是怎么错的。为你的帮助干杯很有魅力。甚至文章中的那个人也提到了微软的文章,以及它是怎么错的。为您的帮助干杯这个公式似乎比数组公式慢得多,仅供参考。这个公式似乎比数组公式慢得多,仅供参考。