Excel中用公式解决文本格式的排序问题


Excel中直接操作排序确实很好排,但如何用公式来实现呢?数字的排序很好做,用SMALL 或者 LARGE 函数就可以,但文本的排序确实麻烦,找了好久终于找到解决办法。

如果数据在A2 到A8之间,以下公式位于第二行,如果第三行就是用ROW()-2
=INDEX($A:$A,RIGHT(SMALL(COUNTIF($A$2:$A$8,"<="&$A$2:$A$8)*100000+ROW($A$2:$A$8),ROW()-1),5))

输入后按CTRL+SHIFT+ENTER 键入数组公式

这样做有一个问题就是,空值排序后变成0,排到最前面。

如果是文本加数字类型的排序,最好是用辅助列,把文本字符里面的数字提取出来,转换成数字类型,再使用SMALL函数排序。

如:
C100702
C100701
增加辅助列: H2=RIGHT(A2,6) 下拉填充
然后把排序的结果放在另外的一列,公式为:
=IF(ISERROR(SMALL($H$2:$H$100,ROW(A1))),"",SMALL($H$2:$H$100,ROW(A1)))




[本日志由 随然 于 2009-12-08 06:12 PM 编辑]
上一篇: Excel 的一些技巧
下一篇: U盘(优盘)文件系统变成RAW怎么修复?
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: Excel
相关日志:
评论: 0 | 引用: 0 | 查看次数: 13584
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 10 字 | UBB代码 关闭 | [img]标签 关闭