1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 对筛选结果按条件计数 SUBTOTAL函数貌似不太行 这招很冷但管用!|Excel117

对筛选结果按条件计数 SUBTOTAL函数貌似不太行 这招很冷但管用!|Excel117

时间:2021-10-07 07:48:34

相关推荐

对筛选结果按条件计数 SUBTOTAL函数貌似不太行 这招很冷但管用!|Excel117

数据场景

效果展示

大家好,明天就是中秋节了,提前祝大家节日快乐,今天也不发什么烧脑的技能了,分享一个冷门技巧。

话说有一张成绩表,包含3个字段,[班级]、[姓名]、[成绩],要求在B3单元格自由输入分数线,就能算出合格人数,这也没有什么难度,一个COUNTIF就能解决。

但有一个前提:表格被筛选后只统计可见单元格的成绩合格人数,这就有点意思了,有些小伙伴肯定会想到用SUBTOTAL函数,可是没办法将条件(大于分数线)添加到公式中,这可怎么办呢?

我们可以采用一种迂回的方式,用COUNTIFS函数统计成绩大于分数线且行高不等于0的人数。

可问题又来了,行高怎么计算呢?

问题的关键就在这里,好像Excel中没有专门的函数计算行高,没有我们就自己创造,写个自定义函数就ok了。

那么怎么写自定义函数呢?具体步骤参见动图演示:

快捷键 [ALT+F11] 进入VBE编辑器,新建模块,把下面的代码复制进去。

Function行高(rngAsRange)行高=rng.HeightEndFunction

代码很简单,就一句话,把单元格的行高赋值给函数名。

这里的rng定义为单元格对象,是函数的参数,也就是只要在函数的括号中放入一个单元格引用,例如:A1,就能获得A1单元格的行高。

关于自定义函数的创建方法请参见网易云课堂《揭秘Excel真相》视频课程VBA篇章。

当单元格被隐藏后,行高的值为0,这个也好理解,行高为0就是被隐藏了嘛!

接下来我们在D列添加一个辅助列计算每一行的行高。如下图所示:

最后只要用COUNTIFS函数来计算合格人数即可,公式如下:

第一个条件为成绩大于分数线(这里是85分),第二个条件是D列行高不等于0,"<>"表示不等于号。

接下来就可以自由的筛选查看结果啦!今天的分享就到这里,我们下期再见!希望大家中秋节玩的开心!

更多Excel技能,欢迎您加入布衣公子网易云课堂《揭秘Excel真相》课程。

PPT课程地址:/Rm4oVdo

Excel课程地址:/Rm4oCLR

或直接单击「阅读原文」加入。

关联阅读:

仪表板可视化速成大法,3分钟就能搞定!|Excel116

还在用Excel做数据分析报告吗?PowerBI已经被众星捧月|Excel115

朋友请我帮忙汇总客户评价,刷新我只用了1秒 |Excel114

别人用4张图才能搞定的事儿我1张图就解决了!|Excel113

还记得各国GDP排名时时变化的动态图表吗?究竟是如何做出来的呢?|Excel112

Power Map 精确定位怎能少得了经纬度!|Excel111

区县级地图自定义大法,不看准后悔!|Excel110

地图可视化,一个鼠标就够了!|Excel109

PowerMap让地图可视化变得如此简单!|Excel108

新老客户数咋算,我有绝招!|Excel107

销售部的业绩究竟如何?PP帮你一探究竟|Excel106

……

更多技能分享请您后台回复「目录」查看

福利关键词:70、PNG、地图、姜饼人、图标、样机、手、试看、试听,后台回复有惊喜哦!

布衣公子《揭秘Excel真相》课程原价299

前5000人惠顾仅需199元

单击了解>>《揭秘EXCEL真相》课程详情

▼单击「阅读原文」进入Excel课程传送

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。