我有一个包含“唯一”ID的电子表格。问题是它们只是区分大小写,这意味着我有:a06D000000QO5uW& a06D000000QO5uw。
我想对这些ID执行vlookup并撤回相关值。使用我发现的这篇文章可以进行区分大小写的匹配:
http://support.microsoft.com/kb/214264
我发现的问题是因为vlookup嵌套在Exact函数中,它返回它找到的第一个匹配,这可能不是我追求的那个。如果我使用文章中的数据样本,它看起来像:
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”。然后确切的函数失败,因为它试图测试“乔”对“乔”。
这有什么办法吗?我真的想避免沿着VBA路线走下去,因为我们混合了Mac和Window用户,所以我想把它保留给公式。
答案 0 :(得分:4)
您的问题(使用此确切示例)涵盖here
=INDEX(B1:B6,MATCH(1,--EXACT(A1:A6,C1),0))
=LOOKUP(1,1/EXACT(A1:A6,C1),B1:B6)
答案 1 :(得分:2)
我认为有一种更好的方法,因为它不使用数组公式。
=INDEX($B$2:$B$6,MATCH(TRUE,INDEX(EXACT(C1,$A$2:$A$6),0),0))