终究没有人在意一家民营企业的生死

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

【少儿禁】马建《亮出你的舌苔或空空荡荡》

网友建议:远离举报者李X夫!

10部适合女性看的唯美情色电影

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

一个工作簿里的12个表汇总,最牛的来了

卢子1987 Excel不加班 2023-03-11
与 30万 粉丝一起学Excel


年底了,多表汇总的需求开始多起来了,卢子将各种可能发生的案例都整理在一起。


1.工作表的格式一样,商品的顺序也一样


对于这种,入门级别的人会一个个表格加。

='1月'!B2+'2月'!B2+'3月'!B2+'4月'!B2+'5月'!B2+'6月'!B2+'7月'!B2+'8月'!B2+'9月'!B2+'10月'!B2+'11月'!B2+'12月'!B2


稍微有点基础的会用SUM函数的这种用法。

=SUM('1月:12月'!B2)


而卢子却用这种另类的方法。

=SUM('*'!B2)


*代表除当前工作表以外的所有工作表,这样就不需要用到工作表名称,更方便。这种方法只适用于Excel,而WPS表格只能用上面的基础用法。


2.工作表的格式一样,商品的顺序不同


这种情况用公式也行,不过估计80%的人看不懂。


一般都是借助PQ将所有工作表合并到一个工作表,然后借助透视表统计。详见文章:年度数据统计,超级透视表显神威


PQ已经讲过多次,这次就不再讲了,卢子用合并计算这个方法来解决。


Step 01 点任意空白单元格,数据→合并计算。


Step 0依次引用1月到12月的区域添加进去,勾选首行、最左列,确定。


经过简单两步就搞定了。


3.工作表的格式一样,销售金额都在B列,现在要查询每个商品的销售金额。


稍微有点基础的,采用VLOOKUP函数这种用法。

=VLOOKUP(A2,'1月'!A:B,2,0)


2月、3月……12月,依次更改VLOOKUP函数的第二参数。

=VLOOKUP(A2,'2月'!A:B,2,0)

=VLOOKUP(A2,'3月'!A:B,2,0)

……

=VLOOKUP(A2,'12月'!A:B,2,0)


这种虽然可以解决问题,但是需要修改10多次,很容易改错。


而卢子却采用了另外的方法,每个工作表名称都列出来了,其实可以借助INDIRECT函数的间接引用。

=VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,0)


空调在某些月份没有对应值,显示错误值#N/A,可以嵌套函数IFERROR,让错误值显示0。

=IFERROR(VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,0),0)


4.工作表的格式不同,销售金额的列数不确定,现在要查询每个商品的销售金额。


1月的销售金额在C列。


2月的销售金额在D列。


其他就不依次截图,反正就是列数不确定。


有不少读者做表就非常随意,这个月觉得好像记录得不全面就增加几列,下个月觉得好像没必要记录这些又删除一些列,最后表格一团糟。


这样的表格还有救吗?


还好,有MATCH函数可以自动识别出销售金额在第几列。

=MATCH("销售金额",$1:$1,0)


将MATCH函数作为VLOOKUP函数的第三参数,原来的区域再修改大点即可解决问题。

=IFERROR(VLOOKUP($A2,INDIRECT(B$1&"!A:Z"),MATCH("销售金额",INDIRECT(B$1&"!1:1"),0),0),0)


5.表格格式一样,每个商品可能出现多次,查找最后一次的销售金额。


其实这个就跟日记账差不多,都是查找最后一笔金额。查找首次出现的用VLOOKUP函数,查找最后一次出现的用LOOKUP函数。

=IFERROR(LOOKUP(1,0/(INDIRECT(B$1&"!A:A")=$A2),INDIRECT(B$1&"!B:B")),0)


B$1&"!A:A"的作用就是获取每个表的A列的文本内容,不能参与计算。


而嵌套INDIRECT函数,就是间接的把文本内容转变成真正的区域。


另外,如果电脑的配置比较好可以引用整列区域,配置一般的,建议将区域改小一点,这样运算效率更高,电脑就不会卡。

=IFERROR(LOOKUP(1,0/(INDIRECT(B$1&"!A2:A99")=$A2),INDIRECT(B$1&"!B2:B99")),0)


LOOKUP函数语法:

=LOOKUP(1,0/(查找区域=查找值),返回区域)


6.表格格式一样,每个商品可能出现多次,要汇总销售金额。


按条件求和,一般用SUMIF函数,将刚刚案例1的区域套进去即可。SUMIF函数没有对应值直接是0,不需要再嵌套IFERROR函数。

=SUMIF(INDIRECT(B$1&"!A2:A99"),$A2,INDIRECT(B$1&"!B2:B99"))


SUMIF函数语法:

=SUMIF(条件区域,条件,求和区域)


当然,实际工作中最好将所有内容都记录在同一个工作表,这样更方便汇总。


陪你学Excel,一生够不够?


一次报名成为VIP会员,所有课程永久免费学,永久答疑,仅需 1500 元,待你加入。

报名后加卢子微信chenxilu2019,发送报名截图邀请进群。

推荐:谁研究出来的功能,既能对账,又能多表统计,太牛了!
上篇:Excel中最重要的函数,没有它80%的公式都用不了

请把「Excel不加班」推荐给你的朋友
别忘了点赞支持卢子哦↓↓↓

文章有问题?点此查看未经处理的缓存