职领VBA讲师Steven的VBA社群小伙伴的提问,如何统计11月1日到11月10日的数据合计?而且还需要包含11月1日到11月10日。这个问题是职场中常见的带日期的区间的日期统计。Steven做了详细的解答,牛闪闪在这里总结一下具体的方法,有想要学习VBA的小伙伴可以加入VBA群哟。友情提示,此群非常高端,为收费群(5元永久有效)。
QQ群:615356012
这类问题可以用两种模式进行表达。一种是一次性统计模式,既输入函数后直接得出结果。另一种是动态统计模式,考虑到后期包含的起始日期可能会发生变化,从而配合单元格引用,从而实现动态统计效果。首先我们来看看一次性统计的方法。
这里用到了两个日期的判断,所以自然想到SUMFS函数。
具体操作方法如下:
上列的公式如下:
=SUMIFS(B2:B18,A2:A18,">=2017/11/1",A2:A18,"<=2017/11/10")
分成三个部分
B2:B18,销量的求和区域。
A2:A18,">=2017/11/1"
先判断大于2017/11/1的情况。
A2:A18,"<=2017/11/10"
在判断小于2017/11/10的情况。
需要注意的是这个公式中A2:A18必须重复选中,而且判断的日期的条件可以颠倒,也就是公式还可以写成这样。
=SUMIFS(B2:B18,A2:A18,
"<=2017/11/10",A2:A18, ">=2017/11/1")
这样输入,依然不影响公式的求和。
这种统计方法在输入公式的时候需要特别的小心,需要对日期和大小于要用双引号,而且条件必须是日期格式既2017/11/10 这类斜杆格式,否者统计容易不成功或出错。
这就是属于一次性统计,如果起始日期经常发生变化,能不能这类统计做成数据模型呢?只要输入或选取需要的日期,就可以实现不同起始日期之间的数据求和。
具体操作如下:
在统计前,先利用两个单元格存储起始日期。如下图红框处
接着在输入SUMIFS函数,但方法和之前的统计方法有所差异,注意观察。
这次公式变成这样:
=SUMIFS(B2:B18,A2:A18,">="&E3,A2:A18,"<="&E4)
还是分成三个部分,只是后面两个日期部分变成">="&E3 某一个单元格的形式,注意大小于符号需要用引号引起来。对应单元格中的日期一定是日期格式。这样数据表达才能成功。
可能不太熟悉Excel的小伙伴会问,怎么实现快速选取一列的?其实是按住shift+ctrl之后,按向下的方向键实现的。
这种就是动态统计的SUMIFS数据模型,非常方便灵活的数据统计。
牛闪闪也给大家补充一下,有时候,还我们希望能把2017/11/1-2017/11/10的数据给单独筛选出来,一般情况下,大家都知道用筛选输入日期即可。这里牛闪闪教大家一招“高级筛选”,在不改变原始数据的情况下,直接“复制”出对应起始日期的数据区域。
首先也需要设置出筛选条件区域。注意下图的红框处。
接着利用高级筛选功能。注意路径为“筛选-高级”反着来的。注意看动图操作:
需要注意的虽然这种筛选高级,但如果起始日期发生变化,还是需要每次都进行一次操作,那有没有什么方法可以做到,选好起始日期,就自动取数的呢?如果能实现这种效果,在加入图表,那就是非常完美的动态日期图表。牛闪闪将在下期为大家介绍,尽请期待。
总结:建立函数的动态统计建模思路,是提高Excel职场能力的重要途径。
网友评论