当前位置: 去除器 >> 去除器资源 >> Excel如何批量删除单元格内文字
Excel是我们日常工作中常用的数据存储工具,我们经常会将生产中的一些数据存储到Excel中,而在Excel中,每个单元格内能够输入的内容是不受限制的,你可以输入中文,英文,数字等,Excel都能够存储,不过在后期经行数据处理的时候,我们可能会需要针对这样复杂的数据进行二次处理,比方说因为登记数据的样式不规范,原来应该是数组的那一列中,出现了很多的中文名称,那么如果要批量删除单元格内的文字,要如何操作呢?
电脑:戴尔灵越
系统:win10
版本:Excel
如果需要删除的文字是相同的字符,可以用Excel的替换功能
删除并不一定要去删掉,我们的目的就是让文字消失,那么其实也可以用替换的功能,将文字替换成为空白就可以了,那么在什么样的情况下,可以使用这样的方法呢?这里有一个前提,那就是你要删除的文字是一个固定的字段,如何替换呢?直接将固定的字段替换成为空即可,看看下面的动图
我们可以看到,通过这个简单的替换功能,我们就成功的单元格内的文字批量全部删除了,只保留了我们需要保留的内容。
如果要删除的文字单元格内容样式标准,那么可以采用Excel地分列功能进行拆分
当然要删除的文字,在多数情况下,都不会是统一的,所以这个时候我们就需要另寻他法了,我们可以首先观察下我们要处理的单元格,如果样式都是一直的,或者格式都是统一的话,我们就可以利用Excel地分列功能,将不要保留的字段,单独分列出来,然后在进行删除,这样也可以实现删除的效果,我们来看看下面的动图
从上面的动图中可以看到,在格式规则,样式统一的情况下,我们就可以通过这个分列的方式来实现文字的删除,其实就是讲不要的字段分列出来,已实现删除的效果。
样式不统一,要删除的目标文字又不相同,可以使用VBA搭配正则
这种情况就是最复杂的了,如果样式、文字的内容都不一致的情况下,常规的Excel功能似乎就很难实现批量删除的效果了,这个时候我们就可以考虑选择使用Excel的vba功能,自己编写代码来删除,这里我们用正则+vba的方式来实现,代码如下
Subchinese()DimrngAsRangeaAsRangeSetrng=Application.InputBox()ForEachaInrngMyStr=a.ValueResultStr=WithCreateObject().Pattern=.IgnoreCase=.Global=If.test(MyStr)Thena=.Replace(MyStr,"")EndIfEndWithNextaEndSub
可以看到,利用VBA的方法,也可以很快的删除文字,能够面对的场景更加的复杂,更加的灵活,正则因为是文字匹配,文字删除的强大利器,而恰好VBA又可以使用正则,所以两者一搭配,文字就迎刃而解了,上面的代码也可以直接套用,非常方便。