作为Excel中的大众情人,VLOOKUP函数可谓是人见人爱,花见花开,俗称“职场必杀技”。
可是人无完人,函数也没有完美的函数,VLOOKUP函数有两大弱点:
一是当存在多条满足条件的记录时,VLOOKUP函数只能返回第1个满足条件的记录。
二是第3个参数必须为正,不能为负,即只能从左往右查,不能从右往左查。
今天,我们来看看如果破解VLOOKUP函数的第一个弱点。
案例:
有这样一组数据。
希望得到这样的结果。
下面我们来一步一步实现想要的效果。
第一步:建立基础表格,插入控件。
第二步:编辑通知单编号。
公式=2015000+F2&""(其中,""是为了将数字格式转换为文本格式)
第三步:在原始数据中设置辅助列,对重复的查找值进行编码。
公式=IF(B2=通知单!$D$2,COUNT($A$1:A1)+1,"")
公式解读:当源数据中的通知单编号与通知单SHEET表中通知单编号一致时,则返回该编号是第几次出现,如果不一致则为空格。
第四步:在通知单sheet表中输入公式,进行查找。
公式=IFERROR(VLOOKUP(ROW(1:1),源数据!$A:$E,COLUMN(B:B),0),"")
当通知单编号发生变化时,源数据中的辅助列也在发生变化,编号为哪一个,辅助列中对应的编码都发生变化。
然后用IFERROR函数将没有编码的通知单屏蔽,变为空格。
公式原理如图所示。
好啦,案例分析就到这里了,源文件下载地址:
链接:http://pan.baidu.com/s/1i4RNyNr 密码:vyza
有需要的同学可以自行获取并加以联系哦。
不要忘记关注+喜欢+打赏+分享一条龙学习哈。