【Excel技巧】短横线“-”字符串排序技巧
操作方法
- 01
首先,我们来看一下我们模拟的数据, 想象一下,如果数据量很大,而领导让我们统计出那种带短横线的产品的数量,而我们前期只是一味的添加,并没有考虑到数据的合理性,这样的工作一定会很头大。
- 02
Excel默认的排序筛选,会将每个包含短横线的字符串排在其他字符串的下边,这样是不利于我们进行统计汇总的,我们想要的是,通过升序或者降序,将带短横线的编号排列在一起。
- 03
造成这种情况的原因是由于Excel在对文本排序时会忽略短横线“-”,另一个会被忽略的字符是英文单引号“'”(即撇号)。如果两个文本字符串中除了短横线不同外其余字符都相同,则包含短横线的文本会排在后面。
- 04
遇到这种情况,我们可将“编号”列文本中的短横线全部替换为某个特殊字符,如“[”,排序后再将该字符替换回“-”即可。或者在辅助列中使用公式替换。这里,我们选用辅助列,因为辅助列不需要动数据源,这点是我比较喜欢的。
- 05
将短横线转化成"[",我们用到的函数是SUBSTITUTE,主要是起到一个替换的作用。
- 06
我们在指定的单元格中,输入:=SUBSTITUTE(A2,"-","["),然后回车后,我们发现,如果数据源不带有短横线的话,那替换无效。
- 07
那我们将辅助列进行数据填充后发现,只要是带有短横线的,都会成功被替换。
- 08
我们将辅助列进行升序或者降序,然后就可以发现,同型号的产品已经被排到一起,这样,就基本上达到了我们的要求,我们可以再选择其他的筛选条件,单独将这些特殊的数据筛选出来,方便我们做其它的操作。
- 09
这里总结一下Excel在对文本字符串排序字符的前后顺序,是按从左到右的顺序逐个字符对比后排序的。经验证,在默认的次序中,特殊字符都排在数字和字母的前面,即: (空格) ! " # $ % & ( ) * , . / : ; ? @ [ \ ] ^ _ ` { | } ~ + < = > 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 所以,我们也可以将短横线替换成其他特殊符号,也是可以的。
- 10
然后,我们将辅助列删除或者隐藏,就得到了我们需要的结果。