今天跟大家分享1个困扰粉丝10年的Excel问题:如何实现根据条件筛选后求和计数,他表示 SUBTOTAL可以不计算隐藏的数据,但是无法加条件,这个应该如何解决呢?跟大家分享下我的解决方法,操作还是比较巧妙的
一、所需函数
这里我们需要用到4个函数,这些函数之前都讲过,如果大家不会用,可以搜下之前的文章,我们先简单的列举一下
1.SUMPRODUCT用于对数据条件求和与计数
2.SUBTOTAL用于判断当前行的数据是否被隐藏了
3.OFFSET用于获取多个新的区域,辅助统计
4.ROW获取单元格的列号
二、函数展示
公式:=SUMPRODUCT(B4:B11*C4:C11*SUBTOTAL(103,OFFSET(A3,ROW(A4:A11)-3,)))
具体效果如下图所示,我们点击切片器进行数据筛选,当前的结果能够跟随切片器的筛选的结果动态变化,下面跟大家简介的介绍原理
三、原理介绍
这个公式的关键点是SUBTOTAL+ OFFSET的应用。在OFFSET(A3,ROW(A4:A11)-3,)这个函数中,ROW(A4:A11)是一个数组,函数会进行多次的偏移,来生成8个新的区域,每个都对应1行数据,效果如下图所示。
生成对应的区域后万年利用SUBTOTAL函数来进行计数,不计算隐藏的数据,这样的话没有被筛选到的就会显示0,被筛选到的就会显示为1,将这个条件代入到SUMPRODUCT函数就能实现根据条件不统计隐藏的数据了
以上就是今天分享的全部内容,怎么样,你学会了吗?
想要提高工作效率,不想再求同事帮你解决各种Excel问题,可以了解下我的专栏,WPS用户也能使用,讲解了函数、图表、透视表、数据看板、AI做表格等功能