案例:查找每个表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)
这个公式的经典之处,在于返回区域采用混合引用,在向右拖动公式的时候,区域会依次改变,从而实现查找。
作者:卢子,清华畅销书作者,《excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:excel不加班(id:excelbujiaban)
延伸阅读:
别再等初级成绩啦,财会人员提薪竟要靠它
账簿丢失怎么办?这5个热点问题,很多会计没弄明白