首页 > 电脑

怎么用VLOOKUP匹配近似值

更新时间2018-07-29 10:18:15

X文件A列完整性更强,Y文件更A列是简称,用VLOOKUP求Y文件中B列值?


X文件

怎么用VLOOKUP匹配近似值

Y文件

怎么用VLOOKUP匹配近似值

你可以这样做:

1 在X文件中,把联系人移至C列;

2 增加B列为"简称[须为单个中文字符]":如工行为"工",建行为"建",招行为"招"等 - 这个也符合我们平常的叫法,不要、也不会有重复的;

3 在Y文件中,有两种做法:

一是:增加一列C,人为地打入对应A列的简称,然后在B列联系人下面对应的格子,如B2,录入公式

=VLOOKUP(C2,【X文件相应Sheet的】$B$2:$C$3,2,0),拷贝至所有B列对应每一银行

其中:

【X文件相应Sheet的】:在录入公式时直接引用X文件的相应区域即可;

$B$2:$C$3根据你表格的实际况修正,之后须修改为绝对引用,即确保加上$;

二是:

不用建立Y文件中的C列,改为自动判别:

将公式中的C2改为:

IF(ISERR(FIND(【X文件相应Sheet的】$B$2,A2)),IF(ISERR(FIND(【X文件相应Sheet的】$B$3,A3)),【。。。。。】,【X文件相应Sheet的】C3),【X文件相应Sheet的】C2)

上式中:【。。。。。】表示插入多个IF(ISERR(FIND(。。。)判断,直至包含你在X文件中所有银行的简称。


excel中对一个公式中的括号嵌套最大层数是有限制的,太多的话即不能增加了。


若真的太多银行了,也有解决办法:

1 直接用VBA,思路简单明了;

2 假设有100家银行,则在Y文件中的每一银行的行后从D列开始增加100列,每一列作上面IF嵌套中的一个,再把比对得出的简称放在该行的C列,即可直接录入最上面的公式。

输入公式后向下填充:

=VLOOKUP("*"&A2,[X文件.XLS]sheet1!A:B,2,)

=VLOOKUP("*"&A2,[X文件.XLS]sheet1!A:B,2,0)

=VLOOKUP(Y文件!A2,X文件!$A$1:$B$3,2,TRUE)

这样行吗?

这个是做不了的,要值完全一样才可以抓到值的。

上一篇:winchmpro目录下面怎么创建子项

下一篇:二进制转十进制