平时工作时,很多Excel表格中数据会很多,而且比较凌乱,没有特定的排列顺序,这时如果需要查找其中的某些信息,可以用查找的方法,但是如果需要查找一段时间内的数据呢?显然Excel自带的查找功能并不能满足要求了。一条一条的慢慢查找,不仅查找速度慢,而且还容易遗漏。
本文以Excel2013为例,图文详解运用Vlookup函数,直接输入起始时间,就能立即显示该区间内的数据。
案例说明
B列有很多日期,现在要分别在H1和J1单元格输入开始日期和结束日期,然后就自动抽取出该段日期内的数据明细。这里主要运用Vlookup函数来匹配数据。
操作步骤
1、打开表格,如下图所示,首先在辅助列A2单元格输入公式:=COUNTIFS($B$1:B2,">="&$H$1,$B$1:B2,"<="&$J$1)
2、回车,双击填充柄,完成辅助列的数据记录。然后在G2单元格输入:=IFERROR(VLOOKUP(ROW()-1,$A:$E,COLUMN()-5,0),"")
3、输入起始日期,回车,得到结果41528,这是怎么回事呢?原来是格式不对,右击单元格,选择设置单元格格式。
4、在数字选项卡中,在分类中点击日期,确定。这样将单元格格式改为了日期格式。
5、横向填充单元格,如下所示。
6、最后,利用单元格填充的方法,完成余下的数据,这样就选出了指定日期内的数据。
公式说明
Countifs(区域1,条件1,区域2,条件2……区域7,条件7):统计符合指定多个条件的单元格的个数。
iferror(要检查是否有误的参数,公式的计算结果为错误时要返回的值):如果公式的计算结果为错误,则返回您指定的值,否则返回公式的结果。
第一个公式:统计出B1:B2区域中符合大于等于H1单元格的值,同时,小于等于J1单元格的值的单元格的个数,值得注意的是,这里要绝对引用单元格,目的就是为了将符合日期区的单元格的个数按顺序标记为1,2,3……最后Vlookup函数来匹配这些。
第二个公式:由于从第二行,第七列开始设置公式,所以用row()-1返回1,2,3……作为Vllookup函数的第一个参数,用column()-5返回2,3,4……作为Vlookup函数的第三个参数,iferror函数的作用就是当Vlookup函数找不到返回错误值时,就返回空值。