Excel_复杂文本字母数字混合排序

发布时间 2023-09-22 14:58:59作者: shadowe

 

ADC_DCAL_DN1[13:0]

ADC_DCAL_DN10[13:0]

ADC_DCAL_DN11[13:0]

ADC_DCAL_DN2[13:0]

ADC_DCAL_DN3[13:0]

ADC1_EOC

ADC10_EOC

ADC11_EOC

ADC2_EOC

ADC3_EOC

ADC4_EOC

ADC5_EOC

ADC_CAL

CB1_CALI_ADC[7:0]

CB10_CALI_ADC[7:0]

CB2_CALI_ADC[7:0]

CB20_CALI_ADC[7:0]

CB3_CALI_ADC[7:0]

CB4_CALI_ADC[7:0]

 

如何对上述信号进行排序,如果直接用excel进行A-Z排序,就只会得到跟表中同样的结果

,会排成1、10、11、2……这样

 

这显然不行,于是开始检索资料,最终确定了一种方法:

1、 将文本中的最左边的数字提取出来

2、 对数字进行前面补0填充。

3、 然后将文本和补完0的数字重新结合

4、 跟原列放一起进行排序

5、  

 

第一步 提取文本的最靠左边的数字

Ctrl+E操作可以跟随用户行为进行文本提取。

如:想提取文本的最左边的数值。

那么对几个形式不同的任意文本进行ctrl e,就可以提取,

 

 

 

如果这样写,在如下方格按下ctrl e还是不能识别正确

 

 

需要再给软件去引导

 

 

在这个空格按下ctrl+e

 

 

 

处理完样例文本后

 

 

如果没有数字的会变成空内容

第二步,对数值进行补0填充

=TEXT(J9,"00")

利用公式

 

 

 

选择性粘贴为数值

 

 

 

 

第三步 将文本和补完0的数字重新结合

用ctrl E继续提取数字前和数字后的文本

 

 

 

 

 

 

用公式和&号将文本连接起来

 



将内容从公式粘贴为值

 

 

 

将00替换成空

 

 

 

 

把原列再粘贴一列

 

 

 

 

复制,选择性粘贴,跳过空单元

 

 

 

第四步 跟原列放一起进行排序

再对有填充0的那一列排序,右边的列得到最终结果

 

 

 

 

对比之前的结果,成功了。

 

 

 

如果选择性粘贴,跳过空单元的时候没有成功,原列有被空白内容覆盖的情况,那么可以对复制列进行两次替换,来解决问题。

明明空单元格却感觉是非空的解决办法

两次替换

 

先把空替换成一个特殊字符如asdasdasd

然后再把asdasdasd换成空即可。