Tracy.Liu 发表于 2019-5-10 11:28:37

一看就会,超有用活字格技能:五十八,字符排序问题

本帖最后由 Tracy.Liu 于 2019-5-10 11:29 编辑

有些时候大家会发现,我们在对表格排序时出现了一些不符合期望的结果,比如说下面这样

需求是能够按月份从小到大排序,我们对表格做了如下设置:
   

期望效果:
   

出现的结果:
   


这是为什么呢?其实,这个顺序在我们看来,必然1月最小,12月最大,但是电脑当然不如人脑可以主观的去判断大小啦~

如果您这里字符的类型是整数或者小数,升序或降序都是符合我们主观判断的,但是这个字段属于文本类型,最后带有“月”,电脑在比对的时候是一位一位比对的,所以10、11、12会比2-9排在前面。

了解了出问题的原因,那解决起来就简单多了,我们只需要用公式字段将1月到9月在前面拼接上一个“0”,变成01月,02月...
   

然后在排序时使用这个字段做排序,同时将这个公式字段隐藏就OK啦~
   

=IF(LEN([月份])=2,"0"&[月份],[月份])这个公式的意思是 如果月份字段字符长度为2,那么就用“0”拼上月份字段,否则就为月份字段。

进行了如上操作后,排序就正常啦~

页: [1]
查看完整版本: 一看就会,超有用活字格技能:五十八,字符排序问题