如何克服,WPS表格自带的排序功能缺陷——逐位比较而非整体比较

如图所示,我有三个数据,分别为:A31、A184、A248。 我想让Excel帮我按照大小排序,他给我从小到大排的序是:A184、A248、A31。 大概可以理解它这样排序的原理: 1.先同时比较第一个字符,大家同样大,都是A。 2.再同时比较第二个字符,A184的1最小,排第一,A248的2第二小,排第二,A31的3最大,排第三。 但我想要的效果和这个原理是相违背的,所以想问下如何克服这个天生缺陷,让Excel表格按照我的设想来排序?
江苏省
浏览 1099
收藏
6
分享
6 +1
12
+1
全部评论 12
 
༄༊࿆喵喵拳ོྂཾ࿆
111~!
· 重庆
回复
 
LZN
如果想要用做排序的字段,又是文本型的,要提前给数字预留空位。比如:把A31期初就录成A031,再排序就可以了。 这个问题不光在WPS 表格里,在文件夹排序一样存在,比如想建立1-12月份12个文件夹。想让系统按照月份自动排序。不能起名“1月”,“2月”。。。。,要写“01月”、“02月”。。。
· 山东省
1
回复
介甫
这个办法好!
· 广东省
1
回复
 
wps新路
wps新路

WPS函数专家

需要把数字想办法提取出来才行,这不是缺陷 这是文本排序的规则。不然斤数15,岁数35 这也没法比大小。
· 重庆
1
回复
 
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

实际上是先按文本长度排序?!
· 辽宁省
1
回复
 
雾伴湾沟
可以使用增加辅助列方法. 1. 在B1输入31, 再往下填充, 选择智能填充, 就得到数字了. 2. 再依据B列排序就行了. 产生这样的原因你说的是对的, 首先这些数据是文本, 文本排序是逐个字符排序, 排序的依据是这些字符在unicode上的索引, 靠前的小, 靠后的大. 可以找一个ASCII码表看看. 常用的文本大小: 汉字>"z">"a">"Z">"A">"9">"0"
· 福建省
1
回复
 
墨云轩
墨云轩

创作者俱乐部成员

可以借助sortby函数
· 河北省
1
回复
 
懒得批爆
懒得批爆

创作者俱乐部成员

如图,这是你想要到效果吗, 文本相同,后面的按数字大小排序? =TAKE(SORT(HSTACK(LEFT(B3:B5,1),MID(B3:B5,2,99)*1),2,1),,1)&TAKE(SORT(HSTACK(LEFT(B3:B5,1),MID(B3:B5,2,99)*1),2,1),,-1)
· 四川省
1
回复
 
小志影集十口月十一星
打卡学习
· 中国
回复
 
E精精
E精精

WPS函数专家

A13这种不是数字,本质是文本,按照文本规则排序,并没有什么问题,如果想要按数字排序,最好的做法就是条件辅助列,提取数字,按数字列排序或者使用函数处理 =SORTBY(A1:A3,--TOCOL(REGEXP(CONCAT(A1:A3),"\d+",0)),1)
· 江苏省
1
回复
 
x埃伦-V-
厉害👍🏻厉害👍🏻
· 山东省
回复
 
拼命微笑却痛了心脏
排序功能将文本字符串按照逐位字符进行比较而非整体作为数值进行比较时,您可以通过以下步骤来克服这一缺陷,实现按照数值大小进行排序: 1. 确认数据类型 首先,确保您的数据列被正确识别为数值类型而非文本类型。如果数据被识别为文本,WPS表格会按照文本排序规则(即逐位字符比较)进行排序。 2. 转换数据类型 如果数据被错误地识别为文本,您需要将其转换为数值类型。这可以通过以下步骤完成: 使用“文本转换成数值”功能。 使用公式:在旁边的空白列中,使用`VALUE()`函数将文本转换为数值。例如,如果文本数字在A列,您可以在B1单元格中输入`=VALUE(A1)`,然后向下拖动填充柄以应用公式到整列。 3. 排序 一旦数据被转换为数值类型,您就可以按照数值大小进行排序了。 通过以上步骤,您应该能够克服WPS表格自带的排序功能缺陷,实现按照数值大小进行排序的需求。
· 中国
1
回复