跨表汇总,一看就懂
摘要v小伙伴们好啊,今天咱们来分享一个简单实用的Excel公式组合,点滴积累,也能提高效率。如下图所示,每个工作表的格式一样,但是数据行数不同。每个工作表D列的最后一行是当前表格中
v
小伙伴们好啊,今天咱们来分享一个简单实用的Excel公式组合,点滴积累,也能提高效率。
如下图所示,每个工作表的格式一样,但是数据行数不同。每个工作表D列的最后一行是当前表格中的合计数:
现在要在汇总表中,得到每个工作表的D列的合计数量。
想出解决方法了吗?
其实一个INDIRECT函数就搞定:
=LOOKUP(9^9,INDIRECT("'"&A2&"'!D:D"))
首先咱们看看规律,第一个特点,是A列的仓库名称和工作表名称都是一样的。第二个特点,是这些工作表名称中有的包含有空格或是括号等特殊符号。
首先咱们借助A2的工作表名称,用一堆字符串连接到一起,组成具有引用样式的字符串。
"'"&A2&"'!D:D"
连接后的结果就是这样的:
"'兴农1号仓'!D:D"
工作表名称中有空格或者特殊符号,需要在工作表名称前后加上单引号,大家使用时需要注意哦。
不过现在咱们仅仅得到一个具有引用样式的文本,还不是真正的单元格引用。这时候就需要INDIRECT函数来帮忙了,INDIRECT函数的作用就是将具有引用样式的文本字符串变成真正的引用啦。
由于合计数所在的行数不固定,所以咱们先得到D列整列的引用。
现在,咱们只要得到D列的最后一个数值,这个数值就是合计数啦。可如果得到呢?咱们再请LOOKUP函数来帮个忙。
LOOKUP函数第一参数使用一个非常非常大的数值,在小IN同学得到的D列引用中来查询这个数值。
在找不到具体的查找值时,LOOKUP就会返回比查询值小的最大值。即便是没有经过升序处理,小LO也会认为已经排序处理过了,想当然的认为最后一个数值就是这一列中最大的一个,所以就返回D列最后一个数值进行匹配了。
大家快试下,是不是很简单!工作效率瞬间提升啦。