你在处理Excel表格的时候,是不是常常遇到数据并非完全一致,只是部分相同的这种情况。
比如下表中所示的两张客户名单表,表1和表2的名称中就存在部分包含的情况,想要匹配这两张表的数据,是相当困难的。如果表1的内容是被包含在表2中,比如表1中是“IKA”,表2中是“IKA/艾卡",就是完全被包含在表2中的情况。但是我用红色箭头标识出来的这两个数据,表1中是“广州阿拉丁”,表2是“aladdin/阿拉丁”,两组数据中都有“阿拉丁”,但不是完全包含的关系,所以我们如果用VLOOKUP函数的模糊查询的功能,是匹配不了这种情况的,只能匹配完全包含的数据。
想要轻松实现这种类型数据的模糊匹配,就需要用到Power Query的模糊查询功能了。
将这两张表加载到Power Query查询编辑器中,之后选择“合并查询-将查询合并为新查询”。
在弹出来的对话框中,分别选择这两张表,之后在底部的“联接类型”中选择“完全外部”,意味着将两张表中的数据都显示出来。因为有些数据是只有客户表1有的,有些数据是只有客户表2有的。
在底部勾选“使用模糊匹配执行合并”之后,可以看到匹配的结果的识别度并不是特别的高。
比如刚刚我们看过的“广州阿拉丁”就没有匹配到,这时候我们可以再次打开刚刚的匹配对话框,修改底部的“相似性阙值”,默认是0.8,数字越小匹配的融合度就越高。
我们可以尝试改为0.5先测试一下,这时候我们可以看到能匹配的行就多了很多。
既然是模糊查找,就会有误差,当数据量比较大或者数据的相似度不高的情况下,匹配的准确率会有所降低。所以,可以的话,还是尽量规范数据源,能保持一致最好。
网友评论