夜雨聆风学习资料网

ARTICLE · 1210768

Excel教程:多表汇总原来这么简单

Excel教程:多表汇总原来这么简单

大家好,我是爱知趣教育小木老师,今天来讲一下

多表汇总原来这么简单

今天给大家分享的是多表“汇总”,这是一位VIP同学的问题,她每个客户一张表,每一张表里又有31张表用来分别记录每天的数据!
表格建好以后,要将所有客户的数据汇总到一个表中,想着有没有公式能直接引用过来,而不用每个单元格都去写一下引用。
拿到她的数据表,打开看,表结构都是完全一样的,取数据的位置也是完全一样,很有规律!图01
第一天取F42单元格的值,从第二天开始,都是间隔44行,第二天取第86行的值,42+44=86,第三天取第130行的值,42+44+44=130,所以取多少行的数据可以用公式 (天数-1)*44+42 计算出来。
弄清楚规则以后再来选函数,这个问题可以用 index,offset,indirect 来解决!
三个函数的套路都一样。
首先来看index的解法图02:
这里只用了Index 前两个参数,
参数1是返回数据的区域,这里我是整列引用
参数2是返回区域中第几行的值,这里用的是 (A3-1)*44+42
再来看Offset的解法图03:
Offset用了3个参数
参数1是偏移的基点,用F1做为起始点(注意要绝对引用,否则下拉填充时基点会变)
参数2是偏移多少行,用(A3-1)*44+41 (注意这里是加41,而不是加42因为是从A1开始的,加41就对了,不知道为什么会这么巧)
用这两个函数都挺容易实现的,可现在有另一个问题,每一列都要重新写一下公式,有好几十个客户呢,能不能只写一次,然后右拉,下拉就能实现的呢?
这时候就该轮到indirect上场了,图04:
后面计算行号的部分和用index完全一样(注意A3要绝对引用列),前面的工作表名称则直接引用了B2单元格的值!(注意这里要绝对引用行,右拉的时候列必须是可以变化,下拉的时候行则不能变化)
工作表名称前后加上 单引号 是标准用法,如果工作表名称都是字母或汉字,可以这样写 INDIRECT(B$2& "!F" & ($A3-1)*44+42)
如果合计位置并没有规律呢?关注我:下一次带你用VBA来秒杀此问题!

今天的分享就到这,如果教程对大家有用,希望大家多多分享点赞支持小编哦!你的每一次点赞和转发都是支持小编坚持原创的动力。

相关学习资料