同样一个任务,一个人花了5小时,吃了很多苦,做到60分;另一个人花了5分钟,轻轻松松,做到了80分。你会给第一个人点赞,夸她棒吗?
在职场,过程不重要,结果才是最重要的。
1.格式相同的表格,要在第一个表汇总后面所有表格d列的总量。

格式相同的表,多少个都一样,一个sum函数就秒杀了。
=sum('4.1:4.7'!d3)
语法:
sum(起始表格名称:结束表格名称!单元格)
表格名称没有规律也可以,在有特殊字符的情况下需要加''。
我们知道*是通配符,代表所有的意思,在这里也可以用*来实现统计。
=sum('*'!d3)
2.同样也是格式相同,但要汇总的形式不一样,要汇总每一个月份的总销量。

这里是用sum+indirect函数的组合实现。

可能很多人一开始直接就用sum,可惜得到的是错误值。a2&"!c:c"被当成文本处理,而不是区域。
=sum(a2&"!c:c")
我们正常的引用都是直接引用,如区域c:c。间接引用就是通过第三者才能获得的,如indirect("c:c")。也就是说,只要嵌套个indirect函数就可以。
3.跟上一个例子很像,唯一的差别就是最后多一个合计的实发数量,而每一个表格的行数不确定。现在要获取每个表合计的实发数量。

这种有很多种处理方法,最简单的办法有两种。

01查找每个表,最后一个数量。
=lookup(9e+307,indirect(a2&"!b:b"))
相关文章《vlookup函数滚一边去,我才是excel真正的查找之王!》
02统计每个表的数量后再除以2。
=sum(indirect(a2&"!b:b"))/2
4.现在换成统计商品的销售量。
明细表

汇总表

难度瞬间就上来了,要结合好多函数。
=sumproduct(sumif(indirect(row($1:$6)&"月!b:b"),a2,indirect(row($1:$6)&"月!c:c")))
看起来很复杂,但实际上也不是太难理解。
indirect(row($1:$6)&"月!b:b")这部分就是获取1-6月的b列
indirect(row($1:$6)&"月!c:c")这部分就是获取1-6月的c列
sumif(1-6月的b列,a2,1-6月的c列)就是分别统计这6个表
sumproduct(sumif())就是将最终这6个表进行求和
如果不会也没事,下面还有技巧法。
5.格式相同的多个表格,现在要统计所有人员的工资数据。

step 01新建一个空白的汇总表,点击汇总表任意空白单元格,再点击数据→合并计算,这时会弹出合并计算对话框。

step 02鼠标引用第一个表的区域,点击添加。

step 03重复添加剩下的所有表格,添加完毕以后,勾选首行和最左列,点击确定。

瞬间就统计出来,非常快。

step 04统一格式,搞定收工。

6.格式相同的12个表格,现在要统计每个销售人员销售的产品对应的总数量。

关于多表统计,高手可以借助vba和sql,普通人也有非常方便的方法。一起来看看超级透视表如何进行统计的?
step 01新建一个工作簿,点击数据→新建查询→从文件→从工作簿。

step 02浏览到工作簿所在位置,点击导入。

step 03选择整个工作簿,点击编辑。

step 04删除不需要的列,展开data获取所有数据。

step 05将第一行作用作标题,取消多余的标题筛选,关闭并上载。

step 06根据合并后的数据创建数据透视表统计。不包含空格的数据,可以直接用勾选而不需要用拖拉字段,更方便。

step 07布局以表格形式显示,并对销售量进行降序。

这样一份年度数据统计表就完成了。
7.格式相同的多个表格,如何快速合并?
源代码:
sub 合并()
dim sht as worksheet,arr
for each sht in worksheets
if sht.name <>"汇总"then
i =sht.range("b65536").end(xlup).row
j =sheets("汇总").range("b65536").end(3).row +1
arr =sht.range("a2:f"&i)
sheets("汇总").range("a"&j).resize(ubound(arr),6)=arr
end if
next
end sub
8.如何合并同一个文件夹内所有工作簿的所有工作表?
同一个文件夹,里面存着n个工作簿。

每一个工作簿,里面有n个工作表,全部需要合并起来。

将代码所在工作簿放在同一个文件夹。

点击头像运行,稍等片刻即可导入,调整列宽即可。

源代码:
sub 合并当前目录下所有工作簿的全部工作表()
dim mypath, myname, awbname
dim wb as workbook, wbn as string
dim g as long, shrcou as long, shcol as integer
dim num as long, wbsht as string
application.screenupdating = false
mypath = activeworkbook.path
myname = dir(mypath & "\" & "*.xls")
awbname = activeworkbook.name
num = 0
do while myname <> ""
if myname <> awbname then
set wb = workbooks.open(mypath & "\" & myname)
num = num + 1
with workbooks(1).activesheet
for g = 1 to
wbsht = replace(left(myname, len(myname) - 4), ".", "") & ";" & wb.sheets(g).name
if . = 1 then
shcol = wb.sheets(g).
shrcou = wb.sheets(g).
.cells(1, shcol + 1) = "合并名称"
.cells(1, shcol + 1).font.bold = 1
.cells(.cells(, 1).end(xlup).row + 1, shcol + 1).resize(shrcou - 1) = wbsht
wb.sheets(g). .cells(.cells(, 1).end(xlup).row, 1)
else
shrcou = wb.sheets(g).
.cells(.cells(, 1).end(xlup).row + 1, shcol + 1).resize(shrcou - 1) = wbsht
wb.sheets(g).cells(2, 1).resize(shrcou, shcol).copy .cells(.cells(, 1).end(xlup).row + 1, 1)
end if
next
wbn = wbn & chr(13) & wb.name
wb.close false
end with
end if
myname = dir
loop
activesheet.usedrange.borders.linestyle = 1
range("a1").select
application.screenupdating = true
msgbox "共合并了" & num & "个工作薄下的全部工作表。如下:" & chr(13) & wbn, vbinformation, "提示"
end sub

延伸阅读:
财务部全景图:哪里是跳板?哪里是归宿?
你抱怨了吗?
紧急提醒!2018年3月后加油票要这样报销,否则一律退回!(附报销实例,看完秒懂)