WPS对比两列内容中不同的部分

368 阅读2分钟

背景

在实际项目实施过程中,我们经常需要对比两组不长的数据(大概不超过一万项),查看是否一致,对于不一致的部分,我们单独进行处理。这个时候我们不需要编程,只需要使用WPS来检查出重复或者是有区别的项。

1.VLOOKUP

我们假设我们在迁移用户数据,可以得到两组用户id。如下图所示:

image.png

A列是所有要迁移的id,B列是已经迁移成功的。如果我们要找A列中所有出现在B列中的项,我们就可以在C列这样定义:

=VLOOKUP(A1,B:B,1,FALSE)

image.png

2.IFERROR

我们发现列中出现了#N/A的字样,就是说明当前的A列的项,在B列不存在。但这样的显示,是不方便我们后续进行操作的,我们肯定希望一个数值或字符串,比如我们可以确定用户的id不为字符串,就可以使用IFERROR函数给它包一层:

image.png

这样公式就变成了:

=IFERROR(VLOOKUP(A1,B:B,1,FALSE),"NotFound")

3.IF

为了避免嵌套层级过多,我们再来一列,用来查看A列中有但是B列中不存在的项。前面我们已经获取C列,C列中显示NotFound 的就是我们需要的内容,我们现在需要把原来的值显示出来,于是我们使用IF函数:

image.png

=IF(C1="NotFound",A1,"Found")

4.排序

我们获取到了所有同步未成功的项,现在我们需要排序,使它们靠在一起。我们按照纯数值复制一遍,其操作过程为:复制一列,然后 Ctrl+Shift+V 粘贴。

image.png

WPS自身有点问题,这里只能先降序排列,然后再升序排列,就能截取到我们需要的值了。

image.png

如果您的工作中频繁遇到此类问题,两边的数据库也都能连接上,还是考虑编写一个小的程序来做这件事儿吧。如果是偶尔使用,就是上面提到的过程。