当遇到exel有两个列表的数据,需要比较得到他们的不同的部分,并且得到一个不同的值的列表。示例如下:
目的是:通过比较,知道Column2的哪些值不在在Column1里。
WPS直接提供了这一个功能,如下图:
不过,可惜只有会员才能使用。
微软的Excel也提供类似的功能,不过,貌似不好用。根据查找的教程,使用定位功能,如下:
即使这么操作,在excel里也没啥变化,没有把不同的值显示出来,只是调到第一行不同的地方,不能一次性把所有的值都找出来。
下面介绍两种方法,可以找出某一列不出现在另外一列的值。
第一种方法,可以使用Excel自带的函数搞定,函数的调用方式是:=IF(COUNTIF(A:A,B2),"Y","N"),具体结果如下:
通过比较可以得到Column2列的值是否出现在Column1里,并且显示在单独的一列,通过Excel的Filter功能,就可以把所有的不同的值单独显示出来。
第二种方法,使用python的dataframe结合set来操作得到具体的结果。具体示例代码如下:
df = pd.read_excel("F:\\1.xlsx")
diffed_result = set(df["Column2"].to_list()).difference(set(df["Column1"].to_list()))
print("The diffed result:")
print(diffed_result)
打印结果如下:
如果要找Column1没有出现在Column2的值,只需要调换两列的顺序即可。