最近经常需要用到uuid来匹配数据,经常会遇到两个uuid 只是大小写的区别,数据库里使用是没问题的,因为mysql是可以区分大小写的,但是导出后通过excel处理数据匹配数据时就会出问题
如下图所示,通过vlookup匹配,“AACb” 会默认按顺序匹配第一个数值“1”的结果。
=VLOOKUP(F3,B:C,2,FALSE)
所以单纯通过vlookup是行不通的。
此时可以通过lookup+find 函数来解决
find 函数是区分大小写的,相关的案例详解请参阅Excel – 多条件模糊查找,输出不同结果。
=LOOKUP(1,0/FIND(F4,B:B),C:C)
公式释义:
FIND(F4,B:B):在 B 列中模糊查找包含 F4 内容的单元格,并返回 F4 在被查找单元格中的起始位置,结果是一个数字;找不到则返回错误值;
0/...:生成一组数组:分母有值的,即符合上述查找条件的,为 0,其他都为错误值;
LOOKUP(1,...,c:c):上述数组中查找 1,找不到的话就一直向下查找,直至最后一个 0 值;在 c 列中找到对应位置的单元格
这次找出了正确的答案“5”
假设id 中有按顺序向下排列的, 比如 有一个AACb1 ,此时结果也会导致不对
此时可以通过如下公式,将find 换成exact即可解决。
=LOOKUP(1,0/EXACT(F5,B:B),C:C)