分享

5个你最关心的Excel查找案例

 Excel不加班 2019-12-26

昨天聊到了LOOKUP函数,有读者提出了5个新的问题,这里逐一解释。

昨天的案例:查找每个表F列最后一个值。

1.查找每个表A1的对应值。

查找表1的A1对应值,可以直接用:

=1!A1

根据昨天INDIRECT函数的用法,可以间接获取表格的区域,公式可以改成:

=INDIRECT(A2&"!A1")

说明:在表格名称不多的情况下,A列的表格名称手工输入就行。除非很多的情况下才用VBA,可以参考文章:

批量提取工作表名称制作目录以及智能搜索工作表

2.商品的单价是唯一的,现在根据商品查找单价对应表里面的单价。

这种比较简单,直接用VLOOKUP函数即可解决。在D2输入公式,双击填充公式。

=VLOOKUP(B2,F:G,2,0)

3.很多商品的价格都是经常变动的,根据明细表查询商品最新的单价。

因为明细表的数据都是逐天记录,也就是说日期都是升序的,商品最新的单价,也就是最后的单价。

查找首次出现的值用VLOOKUP,查找最后满足条件的值用LOOKUP。

在G2输入公式,双击填充公式。

=LOOKUP(1,0/($B$2:$B$154=F2),$D$2:$D$154)

LOOKUP函数语法:

=LOOKUP(1,0/((条件1)*(条件2)*(条件3)),返回区域)

这里的1,0是固定模式,可以不做改变。条件可以是一个,也可以是多个。

4.很多商品的价格都是经常变动的,根据明细表查询商品在某一个日期的单价。

根据LOOKUP查找到满足最后条件的值这个特点,再增加一个条件,就可以查询某一个日期的单价。比如2016-12-25这一天的Excel不加班单价,肯定是查找最后小于等于2016-12-25的日期所对应的Excel不加班单价,2016-12-23就是最后一个,也就是100。

在H2输入公式,双击填充公式。

=LOOKUP(1,0/(($A$2:$A$154<=F2)*($B$2:$B$154=G2)),$D$2:$D$154)

5.根据姓名,依次查找对应的姓名、公司名称和职业。

在G2输入公式,下拉和右拉。

=LOOKUP(1,0/($A$2:$A$13=$F2),B$2:B$13)

这个公式的经典之处,在于返回区域采用混合引用,在向右拖动公式的时候,区域会依次改变,从而实现查找。

推荐:LOOKUP函数的妙用!

上篇:LOOKUP函数多表查找其实很简单


你最后悔的事情是什么?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多