首先见图1:日常工作必然经常遇到这种对多个工作表进行汇总的应用。本图只是应用了月份,实际工作中姓名、地区、其他等各种好几十页的汇总数据。但是我一例外单表重复都有其规律性,而汇总表汇总总数据。
那么你如何做,对不了解INDIRECT的同学来说,基本上引用后面多表的时候都是一个个表格引用。很明显excel不会犯这种低级效率性错误。于是就有了INDIRECT函数。
首先INDIRECT定义是一个引用函数,它的本意是引用单元格然后返回单元格值,对于上图,我们已经知道多个表单的sheet名字,而引用的单元格位置相同,只不过sheet名字不同而已。所以综合来说思路就是设计一种函数能随着A列数据变动而引用相对应的工作表(sheet)。
见图公式=INDIRECT(B$1&"!B2"),按F9科直接显示B2单元格括号内公式结果为"1月!B2",其实这不就是我们经常直接引用的公式吗。所以跨表引用单元格值由两部分组成,由&分开。&前面为引用的sheet工作表名(一般具体化为某单元格的值)&后面引用单元格位置(位置前面加上英文!并且两边用""概括),加双引号是为了将单元格位置定义成文本引用,不然拖动的时候单元格会变动的。!是默认字符,引用其他工作表都会出现这个标志用于区分工作表名字已经到尾部了。
然后锁定相信单元格就可以实现对其他表的数据引用。这是INDIRECT最基本的一种应用,它完全可以结合其他函数一起应用。记住主要的思想就是实现根据单元格的表明实现对对其所属的工作表引用。具体怎么用看大家设计能力了。
简单的类似相同位置数字汇总可以不用这么麻烦,比如见图王璞对合计数据就是多后面12张表相同位置数据直接汇总,很明显我应用和sum(A1:A10)这种类似省略其他单元格的方式。如图所示:=SUM('1月:12月'!B2) 就是对工作表应用时候用":"直接省略中间的工作表。大家一看就明白!