分享

Excel数据清洗之五 去除多余的字符

 ExcelEasy 2021-06-19

今天介绍数据清洗需要处理的第二类问题,分类要一致。

我们先看分类不一致的结果,

上图中,很明显我们看到一个编号为“CA1001101”的客户,但是分别被归类到不同的客户中。

造成这种情况的原因就是因为这个编号在源数据中有各种表现形式,

今天介绍的方法就是要解决源数据中文本内容一致性的问题。

分类数据不一致,有很多原因,我们先来看其中的3个常见情形,

  • 多余的前后缀

  • 多余的空格

  • 多余的回车(换行)

对于这几种情况,我们用的最多的就是“查找和替换”,在某些特殊情况下,我们还需要使用函数来处理。

场景1 去掉多余的前缀(后缀)

一般来说,我们首先查找确定是否需要进行替换操作。例如:

 确定某一列中是否包含一些特定的文本。比如,我们知道某个大区上传的数据总是会在客户编号中添加一些特定的前缀。我们就可以使用熟悉的“查找和替换”工具

如果发现有这些不必要的字符,就可以点击替换按钮,将这些文本替换为空:

点击“全部替换”即可。

场景2 去掉多余的空格

为了保证某列(或者某几列)中没有多余的空格,例如“回归线   ”中后面就有多余的空格,一般来说,这些空格是不必要的。

要提醒的是,英文的空格和中文的空格是两个不同的字符,为了保证完全清除多余的空格,你应该执行两次分别清除英文空格和中文空格。

另外,这个方法用在英文文本中的时候,需要注意。因为英文中是通过空格来分隔单词的。如果你对英文文本使用了这个方法,就可能将一段这样的英文:

Move one cell to the right in a worksheet. Or, in a protected worksheet, move between unlocked cells. 

处理为:

Moveonecelltotherightinaworksheet.Or,inaprotectedworksheet,movebetweenunlockedcells.

这显然不是我们的初衷(对于英文的空格处理,见本文下面的场景4)

场景3 去掉多余的回车(换行)

有时,源数据中会包含多余的回车,


这里的分行是通过输入Alt+Enter来实现的。我们可以将这里的回车替换掉:

要注意的是在替换对话框中,“查找内容”框中需要使用Ctrl+Enter输入回车。如果不行,就是用Ctrl+j来输入回车。

场景4 去掉英文文本中的多余空格

英文是通过空格来分割单词的。例如,"   Tropic Excel   "这个文本中,有3处空格,分别是T前面的空格,两个单词之间的空格,和l后面的空格。这里两个单词之间的空格是必要的,不能去掉。而开头和结尾处的空格是多余的,一般应该去掉。这里用替换工具行不通,我们可以使用一个函数,TRIM:

当然,这个方法也可以用来去掉中文文本中的多余空格。

有时候,这个空格的处理还比较麻烦,有些空格不能用这个方法去掉,我们就需要使用其他方法了。下一讲,我们在讲处理不可见字符时还会为大家介绍一种“空格”的处理。

总结

源数据中的“分类不统一”的问题非常常见,如果没有进行这个数据清洗的步骤,在后续的工作中必然面临很多麻烦。例如,进行VLOOKUP匹配时找不到正确结果;数据透视时产生了多余的分类;甚至没有办法使用数据透视进行汇总分析,只能绞尽脑汁写复杂的公式甚至VBA代码。

另一方面,查找和替换是一个几乎所有人都熟悉的工具,只要利用它对数据进行一点简单的处理,就可以在后续工作中减少很多不必要的麻烦。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多