如何将Excel工作表中的数据进行符合我的要求的处理

来源:百度知道 编辑:UC知道 时间:2024/06/14 04:41:13
在Excel工作表中有一些数据,共计256列,2500多行;其中A列都是不同的三位数,如355,426,795;当然有一些数字如042,003等,这些数字在Excel工作表只表现为42,3,但仍将其视为三位数。除A列外其余数字都是三到七位不等,而且都不相同;我想将这些数字除A列外其余每一个单元格都只保留三位,即百位、十位和个位,当然如果有如210006这样百位或者百位十位的数字是0的数字,处理后剩下6,但仍将其视位三位数,即百位0,十位0,个位6;在处理时有一个条件就是这些数字顺序不能作任何的变动。在此基础上,将处理后的三位数与对应的前面的A列中的数字进行比较,例如,第一行处理后的数字就与A1单元格中的数字比较,第二行处理过的数字就与A2单元格中的数字进行比较,依次类推,第2500行的就与A2500单元格中的数字进行比较;通过比较,经过处理后的数据在相同的数位上如果数字与前面的A列对应的单元格中的数字相同,就将此位数改为数位,即百位相同就将此数改为百,十位相同就将此数改为十,个位相同就将此数改为十;如果不相同,保留原数就可;例如,A1单元格中的数字是395,B1中的数字是4105,C1中是8293,D1中是6395,E1中是6048,经过处理后的最终结果就是:A1保持不变,仍然是395,B1是10个,C1是2十3,D1是百十个,E1是048;如此一直到IV1单元格;后面的到2500行也进行相同的处理。当然也可以第一步和第二步一起进行;总之最后结果需要是:数据顺序没有变化、剩下经过比较和修改过的三位数字就可以。存放位置不限。
因为这样的工作表有20多个,如果一个单元格一个单元格去处理将会耗费相当长的时间,而且难免会出错。有没有什么方法可以用最短的时间完成如上操作?

假设有2600行 

请在[B2601]处填入 =IF(IF(LEN($A1)<3,"0",MID($A1,LEN($A1)-2,1))=MID(B1,LEN(B1)-2,1),"百",MID(B1,LEN(B1)-2,1))&IF(IF(LEN($A1)<2,"0",MID($A1,LEN($A1)-1,1))=MID(B1,LEN(B1)-1,1),"十",MID(B1,LEN(B1)-1,1))&IF(IF(LEN($A1)<1,"0",MID($A1,LEN($A1),1))=MID(B1,LEN(B1),1),"个",MID(B1,LEN(B1),1)) 

可以先查看到效果 如果觉得好的话就把公式拖到相应的位置

其他的表格 把一大片的公式一起复制过去就可以了

<