VLOOKUP有个“BUG”,这事儿你必须要知道
有一个姑娘 她有一些任性 还有一些嚣张——她的名字不是小燕子,而是小A。
小A在一家小公司做财务。
小A的Excel技术水平好歹算是入门了。工作中的很多表格问题都可以借助新学的函数轻松搞定,她的工作效率和心情都得到了解放……
冬天来了,小A很少加班了,她深深觉得,Excel真是一款神器,VLOOKUP不愧是函数世界的大众情人,她爱它胜过爱她男票,尽管她还不知道她男票叫什么名字,何方人士,胖还是瘦,有钱还是……
然后小A就被公司辞退了。
为什么被辞退?!
说起来都是VLOOKUP惹的祸,小A不知道原来它有这么大一个BUG!
小A制作了一份表格。A:B列是数据明细。其中A列是员工的工号,B列是工资。每当有员工把工资领取了,它就把该员工的工号和工资填写在这两列。
D:E列是前来领取工资人的信息。D列是工号,E列有一个VLOOKUP函数公式:
=IFERROR(VLOOKUP(D2,A:B,2,0),'还没领')
该函数的意思是,如果A列找不到D列的工号,就说明该员工未领工资,如果找到了工号,就返回已领取的工资。
小A觉得自己设计的这份表格思路和函数应用都挺好,就有点小开心小骄傲。
然后VLOOKUP那个该死的BUG就来了。
——有一个工号为4465592的,VLOOKUP没有在数据明细里找到信息,计算结果显示“未领取”,小A就给那人发了工资,又过了几天,她才发现,工资给那人发了双份!
……小公司……工人很痞……老板很叼……小A……
VLOOKUP函数有BUG!老娘不几道啊!明明数据源有4465592,VLOOKUP它为啥找不到?!被辞退的小A心里很委屈,她觉得自己需要尽快找一个男票,借一个温暖可依靠的臂膀,度过这个寒冷的冬天……
故事扯淡扯完了,我们谈一下VLOOKUP函数的“BUG”吧。
嗯,其实故事也不是完全扯淡,培训过程中,确实有碰到类此的案例,因为VLOOKUP的这个“BUG”,导致数据计算出错,甚至以至于造成钱财错漏,也是有耳闻。
事实上,这当然并不是VLOOKUP的BUG,而是它的一种计算规则。
对于数据类型,VLOOKUP的要求格外严格。
上图中的VLOOKUP函数之所以计算出错,便是因为D2单元格工号的数据类型是文本型数值(左上角有绿三角),而A列的工号是纯数值,两者尽管看起来长的一样,但数据类型并不一样,在VLOOKUP的眼中两者便并不等同。
好了,今天的内容就是这些吧,祝各位小伙伴一天好心情!
图文制作:看见星光