比较工作簿中的两个电子表格,找出差异,并在第一个电子表格上记录差异

比较工作簿中的两个电子表格,找出差异,并在第一个电子表格上记录差异

我需要一种方法来比较工作簿中的两个电子表格,找出差异,然后将这些差异按顺序写在电子表格中现有数字下方的同一列中。

Sheet1 包含参与经销商编号。所有经销商编号均列在 C 列,从单元格 5 开始。所有参与经销商均向下填写。(注意:这些经销商按地区顺序列出,因此某些单元格中将显示单词 TOTAL,而不是经销商编号)B 列包含地区信函。我也需要保留这封信函。

“工作表1”:

A    207475   
A    207775  
B    TOTAL   

在 Sheet2 中,我列出了要比较的经销商的完整列表。

“工作表2”:

A    206600   
A    207475  
B    206624 

我希望我的缺失经销商显示在我设置为缺失经销商的部分下方,如下例所示:(忽略地区总数)(但也捕获 B 列中的地区字母)

缺少 DLRS。

A    207775   
A    206600  
B    206624 

答案1

这是那些应该使用数据库来解决的问题之一,因为 Excel 不太适合数据库。但是,Excel 可以做任何事情,所以我将使用单元格公式来解决这个问题。

  1. 在第二张表的庄家列之前的一列(如果您愿意,可以隐藏)中,添加一个 countif 公式来确定庄家是否在 Sheet1 中。在这里,我将 countif 包裹在 IF 公式中,如果 countif 返回 0(未找到庄家),我会让它吐出我当前所在的行……这在下一步中很重要。假设 Sheet2 上的庄家列表也在“C”中,从第 5 行开始IF(COUNTIF(Sheet1!C:C,sheet2!C5)=0, ROW(),"")
  2. 在我们刚刚创建的最后一列之后的列中,我们将使用 RANK 公式对庄家行进行编号,从 1 到 Sheet1 上庄家不匹配的任何行(这就是我们需要 ROW() 的原因)。=RANK(A5,$A$5:$A$500,1)(这里我假设步骤 1 列是“A”
  3. 现在,我们已经将所有缺失的经销商按连续数字从上到下排列。在新工作表中,或者在您想要列出 Sheet1 中未找到的经销商的地方,创建一个列,并将行编号从 1 到缺失经销商的数量(无论有多少)。我假设 Sheet3,A 列,从第 1 行开始
  4. 在下一列中执行 vlookup 函数来搜索第一个缺失的经销商,=Vlookup(A1,Sheet2$A$5:$A$500,3, false)然后将该函数复制到所有行。

它有点复杂,并且对 ROW() 和 RANK() 的使用非常规,但它可以让你远离数据库、VBA,或者更糟糕的是......手册。

相关内容