ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的测验 > 函数与公式 > 练习3:另类文本排序

练习3:另类文本排序

作者:绿色风 分类: 时间:2022-08-18 浏览:151
楼主
rongjun
题目:将A1:E5区域内文本按升序排序(以首位字母或汉字为主关键字,数字部分为次关键字进行升序排序)。
说明:A1:E5区域内的文本由首字符为字母或汉字,后跟若干数字组成(即1个字母或汉字+若干数字)。
要求:1、排序的依据是以文本的首位为主关键字,数字部分为次关键字;
        2、表格格式固定,不能更改数据源及其格式;
        3、用函数,一个公式下拉完成;
        4、不用VBA,不定义名称,不用辅助区域;
        5、注意处理错误值及0值,结果如下图所示。

 


另类文本排序_题目.rar


以下是我的参考答案:
多单元格数组公式
=T(INDIRECT(TEXT(RIGHT(LARGE(COUNTIF(A1:E5,">"&LEFT(A1:E5))*10^9-(0&MID(A1:E5,2,9))/1%%+ROW(1:5)/1%+COLUMN(A:E),ROW()),4),"r0c00"),))
2楼
棉花糖
=INDIRECT(TEXT(MOD(LARGE(COUNTIF($A$1:$E$5,">"&LEFT($A$1:$E$5))*10^5-(0&MID($A$1:$E$5,2,3))*100+ROW($A$1:$E$5)*10+COLUMN($A$1:$E$5),ROW()),100),"r0c0"),)&""
156个字符
3楼
_s_bri
学习了,行号*10+列号
4楼
syz105729913
=INDIRECT(TEXT(RIGHT(SMALL(CODE(IF(A$1:E$5<>"",A$1:E$5,"座"))+TEXT(MID(A$1:E$5,2,20),"0;;;!0")*1%+(ROW($1:$5)/1%+COLUMN(A:E))/10^6,ROW(A1)),4),"r0c00"),)&""

155字符
5楼
西山晴雪
对文本的操作很有难度,学习
6楼
Google
学习一下,比较难
7楼
donghan
学习一下。
8楼
dgxsdr
学习一下。
9楼
monvzhilei
自己写不出来,还是学习吧。
10楼
leyusheng
学习一下,有难度
11楼
JLxiangwei
kankan
12楼
fly_fu
学习一下,比较难

13楼
bluexuemei
学习下,有点难度
14楼
ning0050
谢谢了。学习中。
15楼
ning0050
好东呀。。
16楼
zhangmc
学习一下。
17楼
binzh83
good material, thanks!
18楼
hopeson2010
以后留在这学习了!哈哈!
19楼
fubinary
能不能用VBA实现呢
20楼
xgg2001
看看
21楼
w83365040371
  1. =INDIRECT(TEXT(RIGHT(LARGE(COUNTIF(A$1:E$5,">="&A$1:E$5)/1%%+ROW($1:$5)/1%+COLUMN(A:E),ROW(A1)),4),"r#C00"),0)&""
22楼
ayx365
看过了.学习了
23楼
ayx365
看过了.学习了
24楼
格格不易学
上面的回答好像都到用数组函数,如果不用数组函数有没有办法?
25楼
qazwer168
我也想听大家的建议!谢
26楼
珈蓝清沐
hehe
27楼
玉丫头
看答案了
28楼
ykqrs
学习。
29楼
wendy_Tu
回复下,学习学习了。
30楼
tj521
学习学习了,高手真多
31楼
rongjun
题目:将A1:E5区域内文本按升序排序(以首位字母或汉字为主关键字,数字部分为次关键字进行升序排序)。
说明:A1:E5区域内的文本由首字符为字母或汉字,后跟若干数字组成(即1个字母或汉字+若干数字)。
要求:1、排序的依据是以文本的首位为主关键字,数字部分为次关键字;
        2、表格格式固定,不能更改数据源及其格式;
        3、用函数,一个公式下拉完成;
        4、不用VBA,不定义名称,不用辅助区域;
        5、注意处理错误值及0值,结果如下图所示。

 


另类文本排序_题目.rar


以下是我的参考答案:
多单元格数组公式
=T(INDIRECT(TEXT(RIGHT(LARGE(COUNTIF(A1:E5,">"&LEFT(A1:E5))*10^9-(0&MID(A1:E5,2,9))/1%%+ROW(1:5)/1%+COLUMN(A:E),ROW()),4),"r0c00"),))
32楼
棉花糖
=INDIRECT(TEXT(MOD(LARGE(COUNTIF($A$1:$E$5,">"&LEFT($A$1:$E$5))*10^5-(0&MID($A$1:$E$5,2,3))*100+ROW($A$1:$E$5)*10+COLUMN($A$1:$E$5),ROW()),100),"r0c0"),)&""
156个字符
33楼
_s_bri
学习了,行号*10+列号
34楼
syz105729913
=INDIRECT(TEXT(RIGHT(SMALL(CODE(IF(A$1:E$5<>"",A$1:E$5,"座"))+TEXT(MID(A$1:E$5,2,20),"0;;;!0")*1%+(ROW($1:$5)/1%+COLUMN(A:E))/10^6,ROW(A1)),4),"r0c00"),)&""

155字符
35楼
西山晴雪
对文本的操作很有难度,学习
36楼
Google
学习一下,比较难
37楼
donghan
学习一下。
38楼
dgxsdr
学习一下。
39楼
monvzhilei
自己写不出来,还是学习吧。
40楼
leyusheng
学习一下,有难度

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap