Excel对包含短横线“-”的字符串排序一例

时间:2022-01-03 13:13:14

    有时需要在Excel中对包含短横线“-”(即减号、连字符或横杠)的文本按某种要求进行排序,例如下图的“编号”列中,某些文本所包含的字符除短横线外都相同,如“A1001”和“A10-01”,要求将所有包含短横线的字符串全部排在一起。但Excel默认排序时会将每个包含短横线的字符串排在其他字符串的下边,如右图所示。

    Excel对包含短横线“-”的字符串排序一例   Excel对包含短横线“-”的字符串排序一例

    这是由于Excel在对文本排序时会忽略短横线“-”,另一个会被忽略的字符是英文单引号“'”(即撇号)。如果两个文本字符串中除了短横线不同外其余字符都相同,则包含短横线的文本会排在后面。遇到这种情况,可将“编号”列文本中的短横线全部替换为某个特殊字符,如“[”,排序后再将该字符替换回“-”即可。或者在辅助列中使用公式替换,例如本例在C2单元格输入公式:

    =SUBSTITUTE(A2,"-","[")

    填充公式到C11单元格,然后按C列排序。

    Excel对包含短横线“-”的字符串排序一例

    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

    因而也可将公式中的“[”改为其他特殊字符。而要将包含短横线的文本字符串全部排在后面,可将公示中的“[”改为字母“Z”。