作者:卢子1987 转自:Excel不加班

月报表,根据项目和月份两个条件获取本期预算和本期实际。比如四月就代表1-4月的总预算,比如三月就代表1-3月的总预算。

预算,记录着每个项目每个月的预算金额。

效果图

学员原来的做法,用VLOOKUP函数,然后四月就用4个VLOOKUP函数相加,三月就用3个VLOOKUP函数相加。同样类型的表格有20多份,每次月份更改都要修改半天。

这是一个函数的综合运用案例,需要很熟练每个函数的用法才可以。卢子在知道了意思以后,用了5分钟就解决了这个问题,以后更改月份也可以适用。

在月报表B8输入公式下拉。

=SUM(OFFSET(预算!$C$1,MATCH(A8,预算!A:A,0)-1,0,1,MATCH($A$2,预算!$3:$3,0)-2))

这么多函数嵌套,你晕了没?

没事,卢子逐一拆分解释。

OFFSET函数语法:

=OFFSET(起点,向下几行,向右几列,有多少行,有多少列)

现在根据预算表进行说明。

起点:就是C1单元格。

向下几行:一、营业收入这个单元格对应一月的金额在C11单元格,也就是向下10行。MATCH函数就是查找内容属于第几行,得到的数字再减去1就是向下几行。

=MATCH(A8,预算!A:A,0)-1

向右几列:现在是从C列开始统计不向右移动,也就是0。

有多少行:每个项目都是对应1行,也就是1。

有多少列:四月就有4列,3月就有3列。用MATCH函数判断月份属于第几列。

=MATCH($A$2,预算!$3:$3,0)

这里是从C列开始算,也就是前面2列扣除掉。

=MATCH($A$2,预算!$3:$3,0)-2

到此核心部分就解决了,将所有内容合并起来。

=OFFSET(预算!$C$1,MATCH(A8,预算!A:A,0)-1,0,1,MATCH($A$2,预算!$3:$3,0)-2)

用OFFSET函数是获得一个区域,现在是要对这个区域进行求和,需要再嵌套一个SUM函数。

=SUM(OFFSET(预算!$C$1,MATCH(A8,预算!A:A,0)-1,0,1,MATCH($A$2,预算!$3:$3,0)-2))

本期实际的格式是一样的,只需更改工作表名称即可。

=SUM(OFFSET(实际发生!$C$1,MATCH(A8,实际发生!A:A,0)-1,0,1,MATCH($A$2,实际发生!$3:$3,0)-2))

估计你看完还不太理解,这里再通过一个通俗的案例进行说明。

01 从入门到VIP需要怎么走?

入门在A1,需要向下走6步到A7,A7再向右走6步就到VIP。

=OFFSET(A1,6,6)

02 从入门到VIP这个区域有多少个单元格?

入门开始也就是不需要向下,也不需要向右,只需看一下有多少行,1到7就是7行,有多少列,A到G就是7列,这样得出来的是区域,再嵌套COUNTA函数就可以计算单元格数。

=COUNTA(OFFSET(A1,0,0,7,7))

剩下的,就靠自己多动手练习了。