破除日期迷惑,多条件查找就用Vlookup!
编按:通过日期和另一个条件如姓名进行查找,但是辅助列中日期变成了数字,那这时还能用Vlookup进行查找吗?还有,能不能不用辅助列进行多条件查找呢?
一、日期迷思
最近有学员在使用vlookup进行双条件查找时遇到了困难:
归纳起来就是两个问题:
添加“姓名&日期”辅助列,但是辅助列的结果始终不对,这是怎么回事?
能不能不用辅助列实现姓名和日期双条件查询?
通常使用Vlookup函数进行多条件查找的时候,使用辅助列是个不错的选择。使用“&”符号将两列或者多列值连接生成辅助列,然后再用“&”符号将两个或者多个条件串起来当作查找值即可。这位同学的第一解决方案也正是这样的:添加“姓名&日期”辅助列,然后用Vlookup查询“G2&H2”。可是当同学发现辅助列原本应该得到姓名加日期的,却变成了姓名加数字,于是就不敢继续使用Vlookup查询了。
他完全被这个莫名其妙的日期变化给弄迷糊了!!
二、vlookup并没有失效
或许类似的问题大家也遇到过,其实完全不必被这个日期数字的变化给吓到,给迷惑,vlookup并没有那么不堪:
从上图可以看到,虽然辅助列姓名后不是日期,但我们使用vlookup进行查找还是能得到正确的结果,这是怎么回事呢?
三、日期与数字之间的秘密
日期与数字之间到底有何联系,我们通过一个小测试就能明白了:
明白了吗?将日期所在的单元格改成常规格式,日期就变成数字了,所以经常会听到这样一种说法:日期本质是数字!
关于日期和数字之间的关系,懂得下面这几个要点就可以了:
1.日期是一种特殊形式的数据,一个日期对应一个常规数字,但是反过来一个数字不一定对应一个日期;
2.在EXCEL中日期是有范围的,从1900-1-1到9999-12-31,对应的数字是1到2958465,超出范围就显示错误;
注意:0虽然可以转换为日期,但是这个日期并没有实际意义;当数字超出范围后,转为日期格式时会显示为一串#。
3.想要知道数字代表哪个日期,或者是日期等于哪个数字,通过设置单元格格式为日期或者常规即可;
4.通常在公式中,日期被当成数字处理。
四、可以用TEXT函数把数字显示为日期
明白了上面的几点,自然就知道虽然辅助列姓名后是数字而非日期,但仍然可以使用Vlookup函数正常查找。如果非要姓名后的数字显示为日期不可,需要使用TEXT函数进行强制显示:
公式为:=B2&TEXT(C2,"e年m月d日")
TEXT函数的用法很简单:TEXT(数据,”格式代码”),其作用就是将数据按照指定的格式显示出来。格式代码一定要加引号(英文状态)。e表示年(也可以用yyyy表示年),m表示月,d表示日。
到此,同学的第一个问题就解决了。下面看看第二个问题。
五、不用辅助列Vlookup多条件查找
第二个问题,能否不用辅助列使用Vlookup进行多条件查找?完全可以!
我们既然可以用“&”符号把两个条件连接起来当成一个查找值使用,当然也有办法把查找区域中的B列、C列当成1列来使用。使用IF函数数组形式,我们可以把查找范围B:D变成B&C:D,然后进行查找:
注意:公式=VLOOKUP(F2&G2,IF(,B2:B34&C2:C34,D2:D34),2,0)是一个数组公式,输入后须要按Ctrl+Shift+Enter,然后再向下填充公式,否则公式填充后结果可能显示为错误#N/A。
***说明:本文主要由老菜鸟写作。小雅完成第五节。