Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5566|回复: 10

[已解决]如何找出进步最大的,退步最大的前N名?求简捷的思路

[复制链接]
发表于 2010-11-30 10:18 | 显示全部楼层 |阅读模式

如何找出进步最大的,退步最大的前N名?


我用的是笨办法,太麻烦了,请高手给个思路:

 

一,用if先判断出是“进步多少名”或“退步多少名”

二,用left取出是前二个字符,是“进步”还是“退步”

三,用=TEXT(LOOKUP(9E+307,--MID(D2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},D2&"0123456789")),ROW(INDIRECT("$1:$"&LEN(A1))))),"0")取出D2单元格中的“数字”,


问题是,好像是“字符格式”的,不能排序。

四,字符格式转化为“数字格式”

五,终于数字了,可以排序了,从大到小排。

六,自动筛选,E1选进步,就可以排出进步,从大到小了。。。。

BmWSFtcb.rar (10.91 KB, 下载次数: 3)
发表于 2010-11-30 10:26 | 显示全部楼层

f2  公式可以直接用 =ABS(C2-B2) 就省去转换了

另:不知道楼主要解决什么问题?

回复

使用道具 举报

发表于 2010-11-30 10:53 | 显示全部楼层

D2=IF(AND(B2<>"",C2<>""),B2-C2,"") 自定义格式:"进""步"0"名";"退""步"0"名";"平" 下拉

E2==IF(D2>0,"进步",IF(D2<0,"退步","平")) 下拉

自动筛选名次比较列,降序,E1选进步或退步即可

回复

使用道具 举报

发表于 2010-11-30 11:15 | 显示全部楼层    本楼为最佳答案   

用得着这么麻烦吗?

D2输入公式
=B2-C2
自定义D列单元格格式为

"进步"0"名";"退步"0"名";"平"

这样得到的D列可以直接排序
回复

使用道具 举报

发表于 2010-11-30 11:38 | 显示全部楼层

学习啊~~~
回复

使用道具 举报

发表于 2010-11-30 13:21 | 显示全部楼层

学习一下

回复

使用道具 举报

 楼主| 发表于 2010-11-30 14:54 | 显示全部楼层

我要解决的是:如何找出进步最大的,退步最大的前N名?

记得在论坛里看一帖子,说excel第一是思路,第二才是函数

回复

使用道具 举报

发表于 2010-11-30 14:57 | 显示全部楼层

QUOTE:
以下是引用tony3在2010-11-30 14:54:00的发言:

我要解决的是:如何找出进步最大的,退步最大的前N名?

记得在论坛里看一帖子,说excel第一是思路,第二才是函数

请楼主举例说明。
回复

使用道具 举报

 楼主| 发表于 2010-11-30 15:05 | 显示全部楼层

我试了一下,目前,就Zipall的方法比较简单。

就不给最佳答案了,我会一直学习这个帖子,希望可以有更简捷的方法。(尽管Zipall的方法可能已经很简单了。

回复

使用道具 举报

 楼主| 发表于 2010-11-30 15:12 | 显示全部楼层

QUOTE:
以下是引用那么的帅在2010-11-30 14:57:00的发言:
请楼主举例说明。

我觉得就这个帖子啊,算上我的方法的话就有三种方法了。但是这三种方法中zipall的方法最简单。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-7 05:04 , Processed in 0.538035 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表