Excel精英培训网

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

[已解决]请问如何用函数排序?

[复制链接]
发表于 2014-7-2 13:35 | 显示全部楼层 |阅读模式
本帖最后由 ymdhy 于 2014-7-6 18:15 编辑

函数排序.rar (1.9 KB, 下载次数: 18)
发表于 2014-7-2 13:45 | 显示全部楼层
回复

使用道具 举报

发表于 2014-7-2 13:54 | 显示全部楼层
堆一个,F2
  1. =INDIRECT("a"&MATCH(SMALL(LEFT(A$2:A$12)*1000+IFERROR(--MID(A$2:A$12,FIND("-",A$2:A$12)+1,9),999),ROW(A1)),LEFT(A$2:A$12)*1000+IFERROR(--MID(A$2:A$12,FIND("-",A$2:A$12)+1,9),999),)+1)
复制代码
三键下拉
回复

使用道具 举报

 楼主| 发表于 2014-7-2 14:57 | 显示全部楼层
刘苏 发表于 2014-7-2 13:45
函数 + 辅助列吧。。。


用辅助列怎么做呢?
回复

使用道具 举报

 楼主| 发表于 2014-7-2 15:08 | 显示全部楼层
tgydslr 发表于 2014-7-2 13:54
堆一个,F2三键下拉

直接复制公式三键,为什么结果是#NAME ?
回复

使用道具 举报

发表于 2014-7-2 15:10 | 显示全部楼层
ymdhy 发表于 2014-7-2 14:57
用辅助列怎么做呢?

提取函数 把前面的班次提出来    乘以 1000

那么,1班都是1000+  2班2000+

后边的 学号10 就 +10,学号20 就加20,班长、副班长辅助 减5分10分这样。。

把班级和学号的 数值加起来  ,对这个辅助列排序,自然影响到原数据。。


虽然看起来繁琐,但是思路清晰,这样 整个过程都可以在自己的掌握之中

如果,听明白了 就试试能不能开工。。 代工我是不做的
回复

使用道具 举报

发表于 2014-7-2 15:35 | 显示全部楼层    本楼为最佳答案   
附加列 B2公式 下拉,
=LEFT(A2)*100+TEXT(RIGHT(SUBSTITUTE(MID(A2,4,9),"班长","99"),2),"00")
排序列 C2公式 三键回车( 公式复制后,点一下公式编辑栏的任意位置,先按住 shift、ctrl 两个键,然后敲enter键。) 下拉,
=VLOOKUP(SMALL(B$2:B$12,ROW(A1)),IF({1,0},B$2:B$12,A$2:A$12),2,0)
效果如下;
排序前
 
 
1班-11
111
1班-6
3班-15
315
1班-11
1班-6
106
1班-21
2班-33
233
1班-班长
1班-班长
199
2班-12
3班-17
317
2班-33
2班-班长
299
2班-班长
2班-12
212
3班-15
3班-31
331
3班-17
1班-21
121
3班-31
3班-副班长
399
3班-副班长


回复

使用道具 举报

发表于 2014-7-2 15:46 | 显示全部楼层
本帖最后由 tgydslr 于 2014-7-2 15:49 编辑
ymdhy 发表于 2014-7-2 15:08
直接复制公式三键,为什么结果是#NAME ?


哦,你的excel是2003的?,公式修改一下就好了
  1. =INDIRECT("a"&MATCH(SMALL(LEFT(A$2:A$12)*1000+IF(ISERROR(--MID(A$2:A$12,FIND("-",A$2:A$12)+1,9)),999,--MID(A$2:A$12,FIND("-",A$2:A$12)+1,9)),ROW(A1)),LEFT(A$2:A$12)*1000+IF(ISERROR(--MID(A$2:A$12,FIND("-",A$2:A$12)+1,9)),999,--MID(A$2:A$12,FIND("-",A$2:A$12)+1,9)),)+1)
复制代码
回复

使用道具 举报

发表于 2014-7-2 15:49 | 显示全部楼层
函数排序.rar (4.1 KB, 下载次数: 1)
回复

使用道具 举报

 楼主| 发表于 2014-7-3 14:38 | 显示全部楼层
刘苏 发表于 2014-7-2 15:10
提取函数 把前面的班次提出来    乘以 1000

那么,1班都是1000+  2班2000+

嗯,谢谢!尝试了下做到了,还有点待改进的地方 =LEFT(A2,1)*1000+IF(ISNUMBER(--MID(A2,4,1)),MID(A2,4,2),999)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 07:59 , Processed in 0.194952 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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