Excel数据清洗之十 清洗拼写错误
在造成“分类不一致”的数据错误类型中,有一类比较麻烦的情形:拼写错误,
上图的产品列充满了拼写错误:很显然,Exccl是Excel的误写,而Trppic又是Tropic的误写,北回归线很可能是回归线的误写。不像其他的错误类型,比如多余的前后缀,多余的空格或回车,不可见字符等等,这些都有规律可循,而拼写错误是无法找到规律的。
对于英文的拼写错误,Excel提供了拼写检查:选中产品列,在审阅选项卡中,点击“拼写检查”,
Excel就会弹出一个对话框,显示找到的英文单词的拼写错误,然后提供备选项,
从建议中选择一个正确的单词,点击更改,就会将Exccl修改为正确的Excel,然后显示下一个拼写错误,
全部执行完成后,一般来说就可以将英文的拼写错误全部修改。
但是这么做有两个问题:
如果拼写错误比较多,这个操作所需要的时间较长
对于中文中像“回归线”↔“北回归线”这样的情况,拼写检查无法处理。
我们还需要使用其他方法来处理这个问题。
模糊匹配
解决这个问题,我们需要借助于模糊匹配。
首先,我们必须拥有一个正确的产品名称表。在上面这个例子中,我们有下面的产品表,
我们需要用模糊匹配将两个表的产品名称关联起来。
我们之前介绍过模糊匹配(参见模糊查找,不是近似查找!在Excel中应该如何进行模糊匹配),这里我们就介绍一下如何用模糊匹配处理拼写错误。
(模糊匹配插件的下载地址是:https://www.microsoft.com/en-in/download/details.aspx?id=15011)
下载并安装插件后,在Excel中会出现一个“Fuzzy lookup”的选项卡,
接下来,将我们的两个表格(包含拼写错误的数据表和正确的产品表)都转换为超级表,然后点击Fuzzy lookup选项卡中的Fuzzy Lookup按钮,
在右侧出现了Fuzzy Lookup的面板,按照下图所示进行配置,
用鼠标点击一处空的单元格,点击GO,在鼠标处我们可以得到一个输出结果,
根据数据中的错误程度,有可能有一些拼配不成功,这样在第三列的对应行,就会出现一个空单元格,你可以调整右侧面板中的Similarity Threshold,就是下图中的蓝色滑块,
这是一个0-1之间的数值,越接近1,表示相似度要求越高,匹配成功的可能越小。反之,越接近0,越能成功。
一旦匹配成功,将第三列的值复制到第一列,然后删除多余的列即可。
总结及其他
这个方法可以将大部分的拼写错误去除。但是,在有些情况下,仍然有少数的拼写错误匹配不成功,此时,在第三列上会出现空值,我们只要筛选空值,然后根据第一列的内容填写正确的即可。
当然,如果你的数据比较复杂,这个任务可能很艰巨,你可以关注下面的公众号:ExcelEasy寻找更多方法和技巧。