二维码 购物车
部落窝在线教育欢迎您!

Vlookup遇上日期就失灵?

破除日期迷惑,多条件查找就用Vlookup!

 

作者:老菜鸟 小雅来源:部落窝教育发布时间:2019-01-11 20:53:07点击:344

分享到:
0
收藏    收藏人气:0人
版权说明: 原创作品,禁止转载。
编按

通过日期和另一个条件如姓名进行查找,但是辅助列中日期变成了数字,那这时还能用Vlookup进行查找吗?还有,能不能不用辅助列进行多条件查找呢?

 

 

一、日期迷思

最近有学员在使用vlookup进行双条件查找时遇到了困难:

 

归纳起来就是两个问题:

①添加“姓名&日期”辅助列,但是辅助列的结果始终不对,这是怎么回事?

 

 

②能不能不用辅助列实现姓名和日期双条件查询?

 

 

通常使用Vlookup函数进行多条件查找的时候,使用辅助列是个不错的选择。使用“&”符号将两列或者多列值连接生成辅助列,然后再用“&”符号将两个或者多个条件串起来当作查找值即可。这位同学的第一解决方案也正是这样的:添加“姓名&日期”辅助列,然后用Vlookup查询“G2&H2”。可是当同学发现辅助列原本应该得到姓名加日期的,却变成了姓名加数字,于是就不敢继续使用Vlookup查询了。

他完全被这个莫名其妙的日期变化给弄迷糊了!!

 

二、vlookup并没有失效

或许类似的问题大家也遇到过,其实完全不必被这个日期数字的变化给吓到,给迷惑,vlookup并没有那么不堪:

 

 

从上图可以看到,虽然辅助列姓名后不是日期,但我们使用vlookup进行查找还是能得到正确的结果,这是怎么回事呢?

三、日期与数字之间的秘密

日期与数字之间到底有何联系,我们通过一个小测试就能明白了:

 

 

明白了吗?将日期所在的单元格改成常规格式,日期就变成数字了,所以经常会听到这样一种说法:日期本质是数字!

关于日期和数字之间的关系,懂得下面这几个要点就可以了:

1.日期是一种特殊形式的数据,一个日期对应一个常规数字,但是反过来一个数字不一定对应一个日期;

2.EXCEL中日期是有范围的,从1900-1-19999-12-31,对应的数字是12958465,超出范围就显示错误;

 

 

注意:0虽然可以转换为日期,但是这个日期并没有实际意义;当数字超出范围后,转为日期格式时会显示为一串#

3.想要知道数字代表哪个日期,或者是日期等于哪个数字,通过设置单元格格式为日期或者常规即可;

4.通常在公式中,日期被当成数字处理。

四、可以用TEXT函数把数字显示为日期

明白了上面的几点,自然就知道虽然辅助列姓名后是数字而非日期,但仍然可以使用Vlookup函数正常查找。如果非要姓名后的数字显示为日期不可,需要使用TEXT函数进行强制显示:

 

 

公式为:=B2&TEXT(C2,"emd")

TEXT函数的用法很简单:TEXT(数据,”格式代码”),其作用就是将数据按照指定的格式显示出来。格式代码一定要加引号(英文状态)。e表示年(也可以用yyyy表示年),m表示月,d表示日。

到此,同学的第一个问题就解决了。下面看看第二个问题。

五、不用辅助列Vlookup多条件查找

第二个问题,能否不用辅助列使用Vlookup进行多条件查找?完全可以!

我们既然可以用“&”符号把两个条件连接起来当成一个查找值使用,当然也有办法把查找区域中的B列、C列当成1列来使用。使用IF函数数组形式,我们可以把查找范围B:D变成B&C:D,然后进行查找:

 

 

注意公式=VLOOKUP(F2&G2,IF({1,0},B2:B34&C2:C34,D2:D34),2,0)是一个数组公式,输入后须要按Ctrl+Shift+Enter,然后再向下填充公式,否则公式填充后结果可能显示为错误#N/A


  说明:本文主要由老菜鸟写作。小雅完成第五节。

 

 

本文配套的练习课件请加入QQ群:264539405下载。

Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

扫下方二维码关注公众号,可随时随地学习Excel

http://www.itblw.com/ewebeditor/uploadfile/20180914164059384001.png

相关推荐:

Excel日期的那些事儿1日期数据无法筛选?查找替换帮大忙

Excel日期的那些事儿2 13种日期输入法你只会第1种手动输入?

Excel日期的那些事儿3输入日期最快的方式竟然是数据分列!

Vlookup函数运用1Vlookup快速核对人员的薪资变动

Vlookup函数运用2公式没错Vlookup仍找不到数据的3大原因

Vlookup函数运用3如何消除Vlookup的“BUG”,让空返为空?

TEXT函数运用《text函数的用法以及六大text函数的使用案例