解决这个问题的方法有很多:函坦闭唯数公式,数据透视表,VBA。个人认为最简单的方法是使用数据透视表。
先看结果:
利用源数据插入一个数据透视表。
机场字段和航班字段放到行字段区域,起飞正常率字段放到值字段区域。
接着对机场排序,对数值排序,对航班进行值筛选-筛选最小的前三项。
具体操作见下面的动图:
这里还有一点非常重要的态梁,当源数据中的数据发生变化,在数据透视表中刷新,就可以获取最新的数据。(动图的最后部分有演示)
希望对你有帮助。
我是微软认让培证讲师MCT,微软MOS认证大师。欢迎关注我。
1. 首先在做分类汇总烂清亏前,需要先对数据进行排序,否则无法进行分类汇总。
2. 选中一列饥神数据,在插入正纤-排序和筛选命令下选择升序或降序进行数据排序,在”排序提醒“对话框中确保选择了:“扩展选定区域”,这样同行的数据排序仍在同一行。
3. 在排序完之后,点击数据区域中的任一单元格,在“数据”选项卡的“分级显示”组中单击“分类汇总,此时弹出分类汇总对话框,且系统自动选中所有的数据。
4. 在“分类汇总”对话框中,分类字段表示要进行分类汇总的字段,汇总方式中可选以计数、求和、平均值等汇总方式,选定汇总项:表示要根据实际进行汇总的数据。之后选择确定。
5. 这样就可以看到在数据左上角上显示了1、2、3 的级别,可以点击不同的数字显示不同级别的汇总结果。如果不再需要汇总结果,则可以在分类汇总对话框中点击:全部删除。
根据你现在的表,默认“航班起飞正常率”在E列,埋物锋那么,在G2输入以下函数弯晌做为一个参考列:
=IF(A2<>A1,ROW(),G1)
然后在F2列输入以下函数:
=IF(OR(E2=SMALL(INDIRECT("E"&G2&":E"&COUNTIFS(A:A,A2)+G2),1),E2=SMALL(INDIRECT("E"&G2&":E"&COUNTIFS(A:A,A2)+G2),2),E2=SMALL(INDIRECT("E"蚂胡&G2&":E"&COUNTIFS(A:A,A2)+G2),3)),"是","否")
但是,这会有个问题,比如你相同的值太多,就会导致错误,比如有4个以上并列第一等,或者第一1个,第二1个,结果第三并列2个以上,反正就是前三并列的太多就会出错。从你目前提供的数据来看,貌似没有这种情况,但是如果出现就会导致错误,需要新增错误识别或者修改公式
可以试试用SMALL函数与IF函数结合写公式。
用python脚本,一步到位,几秒出结果