Office系列的Excel
首先,我们来看一下我们模拟的数据, 想象一下,如果数据量很大,而领导让我们统计出那种带短横线的产品的数量,而我们前期只是一味的添加,并没有考虑到数据的合理性,这样的工作一定会很头大。
Excel默认的排序筛选,会将每个包含短横线的字符串排在其他字符串的下边,这样是不利于我们进行统计汇总的,我们想要的是,通过升序或者降序,将带短横线的编号排列在一起。
造成这种情况的原因是由于Excel在对文本排序时会忽略短横线“-”,另一个会被忽略的字符是英文单引号“'”(即撇号)。如果两个文本字符串中除了短横线不同外其余字符都相同,则包含短横线的文本会排在后面。
遇到这种情况,我们可将“编号”列文本中的短横线全部替换为某个特殊字符,如“[”,排序后再将该字符替换回“-”即可。或者在辅助列中使用公式替换。这里,我们选用辅助列,因为辅助列不需要动数据源,这点是我比较喜欢的。
将短横线转化成"[",我们用到的函数是SUBSTITUTE,主要是起到一个替换的作用。
我们在指定的单元格中,输入:=SUBSTITUTE(A2,"-","["),然后回车后,我们发现,如果数据源不带有短横线的话,那替换无效。
那我们将辅助列进行数据填充后发现,只要是带有短横线的,都会成功被替换。
我们将辅助列进行升序或者降序,然后就可以发现,同型号的产品已经被排到一起,这样,就基本上达到了我们的要求,我们可以再选择其他的筛选条件,单独将这些特殊的数据筛选出来,方便我们做其它的操作。
这里总结一下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 所以,我们也可以将短横线替换成其他特殊符号,也是可以的。
然后,我们将辅助列删除或者隐藏,就得到了我们需要的结果。
此经验实际操作中其实应用很广泛,大家可以尝试一下~简单而实用。
在文本字符串中用 new_text 替代 old_text。如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE;如果需要在某一文本字符串中替换指定位置处的任意文本,请使用函数 REPLACE。