`
阅: 1766 | 回: 0
发表于2015/10/25 14:17:11 楼主 
头像 等级:初学者
积分:0
财富值:0.0
身份:普通用户

中文小写数字常常会应用到很多场合,在Excel中有时会遇到需要按中文数字排序的情况。例如下图学校名称中包含中文小写数字,要求按城市和中文数字排序。这些中文数字Excel只能将其当做普通汉字处理,因而直接排序时会按拼音的顺序。遇到这种情况,通常需要添加辅助列,用公式或宏代码将中文小写数字转换为阿拉伯数字后再进行排序。本文以上图为例介绍用公式转换中文小写数字为阿拉伯数字的方法,以B列和C列为辅助列,在B列提取城市名称,在C列提取中文小写数字并转换。在B2单元格输入公式:
    =LEFT(A2,FIND("第",A2)-1)
    在C2输入数组公式:
    =MATCH(MID(SUBSTITUTE(A2,"中学",""),FIND("第",A2)+1,LEN(A2)),SUBSTITUTE(TEXT(ROW(A$1:A$82),"[dbnum1]"),"一十","十"),)
    公式输入完毕按Ctrl+Shift+Enter结束。然后选择B2:C2拖动填充柄向下填充公式。

说明:首先用MID函数提取学校名称中的中文小写数字,然后用“TEXT(ROW(A$1:A$100),"[dbnum1]")”得到数组“{"一";"二";"三";"四";"五";"六";……"一百"}”,由于本例“十”至“十九”之间的数字在数组中显示为“一十”、“一十一”……“一十九”,故用SUBSTITUTE函数将“一十”替换为“十”。之后用MATCH函数查找中文小写数字的位置,即得到对应的阿拉伯数字。
    然后以B列“城市”为主要关键字,以C列“名称中的数字”为次要关键字进行排序即可得到所需的结果。

 最后删除B、C两个辅助列。

我的个性签名

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。