比较两个Excel工作表并打印差异?

时间:2018-12-14 07:13:33

标签: linux shell perl text-processing

我有两个Excel工作表(sheetA和sheetB),我需要将sheetA中的一列与sheetB进行比较并打印出差异。

sheetA

Account Number  |    Status
----------------|-------------
876251251       |    Not Active
716126181       |    Not Active
888281211       |    Not Active
666615211       |    Not Active
787878787       |    Not Active
111212134       |    Not Active

sheetB

Customer Number 
----------------
876251251
716126181
792342108
792332668
666615211
760332429
791952441
676702288

我需要将“帐号”与“客户号”进行比较。

  • sheetA中的所有帐号都应显示在sheetB中的客户号中,如果sheetB缺少任何“帐号”,那么我们应该打印出这些信息。
  • sheetB帐号中不存在的sheetA中所有这些额外的客户编号,我也要打印出来。

我正在阅读有关awk的内容,我认为我们可以使用awk来做到这一点,但不知道该怎么做?

$ awk -F'|' 'NR==FNR{c[$1$2]++;next};c[$1$2] > 0' sheetB sheetA

输出应为:

Account Number:
888281211
787878787
111212134

CustomerNumber:
792342108
792332668
760332429
791952441
676702288

1 个答案:

答案 0 :(得分:1)

VlookUp将适用于这种匹配。

=VLOOKUP(A2,B2:B9,1,FALSE)

enter image description here

将“ AccountNumber”列中的数字与““客户编号””相匹配,并得出第1列的匹配数。过滤掉N / A(不匹配),您将获得第1列中所有不匹配的数字。

针对不同的纸张

=VLOOKUP(A2,Sheet1!$A$2:$A$7,1,FALSE)

考虑工作表1为AC编号,工作表2为Custnumber