有很多张表格,表格的列数一样,行数不一样。


现在要在汇总表,查找每个表的F列合计值,也就是F列最后一个数字。


在进行多表查找之前,先来了解LOOKUP函数的查找原理。


查找一列中最后一个数字,可以用LOOKUP函数进行查找。

=LOOKUP(9E+307,A:A)


9E+307是一个超级大的数字,意思是9*10^307,Excel最大的数字是15位。也就是说9E+307比Excel中最大的数字还要大。


而LOOKUP函数在查找的时候,是查找小于或者等于他本身,并且是最后满足条件的值。


现在所有值都比9E+307小,所以查找到最后一个值9。


现在要找到表1中F列的最后一个值,可以这样写公式:

=LOOKUP(9E+307,'1'!F:F)


这里''省略掉也可以得到正确值。

=LOOKUP(9E+307,1!F:F)


表2中F列的最后一个值,可以这样写公式:

=LOOKUP(9E+307,2!F:F)


不过这样查找一个值,就要重新更改一次表格名称,很麻烦,而且容易出错。


现在已经在A列将所有表格名称列出来,可以通过&将表格名称和区域连接起来。

=A2&"!F:F"


连接起来后,变成了一个文本,不能直接参与运算。现在直接用LOOKUP函数,就提示出错。


要将文本间接转换成区域,需要借助INDIRECT函数。

=LOOKUP(9E+307,INDIRECT(A2&"!F:F"))


其实,公式并不难。不过如果你想一步到位写出公式就很难,在不熟练的时候,需要一步步拆分开,最后再将公式组合成完整的公式。


推荐:LOOKUP函数的妙用!

上篇:“卢子-Excel不加班,有什么是你不会的?”

作者:卢子,清华畅销书作者;个人公众号:Excel不加班(ID:Excelbujiaban)