Excel数据表在筛选状态下怎么进行计算
1、筛选后添加序号,字段列单元格公式 =SUBTOTAL(3,E$1:字段列)-1 ,注意: SUBTOTAL函数只统计可见单元格内容;第一参数使用3,表示执行COUNTA函数的计算规则;公式始终计算E列从第一行至公式所在行这个区域中,处于可见状态的非空单元格个数。用结果减1,实现序号效果。
2、筛选后相乘,字段列单元格公式为: =SUMPRODUCT(SUBTOTAL(3,OFFSET(字段列,ROW(1:13),))*字段列:字段列*字段列:字段列), 注意: OFFSET以E3单元格为基点,依次向下偏移1~13行,实现对E4~E16每个单元格的单独引用;SUBTOTAL函数第一参数使用3,即依次统计E4~E16每个单元格的可见单元格个数,如果单元格处于显示状态,则对这个单元格的统计结果为1,否则统计结果为0。 得到类似以下效果: {1;0;1;1;1;1;0;0;1;1;0;1;0};再使用以上结果乘以F列的数量和G列的单价,如果单元格处于显示状态,则相当于1*数量*单价,否则相当于0*数量*单价;最后使用SUMPRODUCT函数对乘积进行求和。
3、筛选后按条件计数,字段列单元格公式为: =SUMPRODUCT(SUBTOTAL(3,OFFSET(字段列,ROW(1:13),))*(字段列:字段列>5)) , 注意:前半部分计算原理与示例2相同;仅改变后半段的统计条件为(G4:G16>5)。
4、筛选后自动更正标题,字段列单元格公式为: =LOOKUP(1,0/SUBTOTAL(3,OFFSET(字段列,ROW(1:15)-1,)),D:D)&”统计表”
注意: SUBTOTAL与OFFSET函数结合部分,计算原理与示例2相同。 得到由0和1组成的内存数组: {0;1;0;1;0;0;0;1;0;0;0;1;0;0;0};用0/这个内存数组,如果是1,得到0,如果是0,则为错误值。 {#DIV/0!;0;#DIV/0!;0;#DIV/0!;……;#DIV/0!;0;#DIV/0!;……};LOOKUP函数以1作为查询值,在以上内存数组中查找最后一个0的位置,并返回对应位置的D列的内容;将提取到的内容与&”统计表”连接,变成可自动更新的表格标题。
栏 目:Excel
本文标题:Excel数据表在筛选状态下怎么进行计算
本文地址:http://www.ziyuanwuyou.com/html/ruanjianjiaocheng/excel/877.html
您可能感兴趣的文章
- 12-02Excel日常工作设置技巧
- 12-02按年设置每月上班天数公式
- 12-02介绍几个典型的excel数据填充方法
- 12-02快速设置excel表中最高、最低和平均值
- 12-02怎么使用Excel函数公式生成超链接
- 12-02设置Excel表单中查询内容高亮显示
- 12-02制作excel通用数据查询表
- 12-02使用excel表格计算人数的方法
- 12-02如何正确使用Excel中的翻译函数
- 12-02Excel表格的中效率加速器GROUPBY函数应用
阅读排行
推荐教程
- 12-02Excel多工作表快速汇总操作方法
- 12-02Excel表格中MID、AVERAGEIF、FREQUENCY函数用法
- 12-02在excel表单中判断性别设置金额的方法
- 12-02Excel数据表怎么从身份证号中提取出生年月
- 12-02Excel数据表中怎么提取不重复名单
- 12-02一些实用的Excel操作方法
- 12-02Excel表单中怎么制作下拉菜单
- 12-02Excel表格中怎么设置在下拉菜单中选择计算方式
- 12-02Excel表单中自定义格式方法
- 12-02Excel怎么制作饼图