比较Excel表格之间的数据

时间:2013-01-09 21:15:47

标签: excel match vlookup

我有两个来自同一数据源的摘录导入到excel中。我需要比较数据以查看是否有任何不同,并突出显示/显示那些数据。我不知道是否可以使用vLookup,因为这似乎仅限于您正在查找的最左侧列。

前两列创建了一个虚拟复合键,因此我可以识别匹配,然后使用匹配函数来显示每个行组合是否匹配。

现在我需要说一下是否匹配,然后比较表格之间的所有其他数据。我需要交叉检查大约15个左右的其他数据列,这是我磕磕绊绊的地方。我以为我可以使用简单的IF语句,IF =匹配然后检查列D =列D,但我想我仍然需要索引引用或匹配值的参考与其他值进行比较。

对此可能是最好的解决方案。如果需要,我愿意重写整个事情,如果这有助于使整个事情变得更容易/更清洁?

1 个答案:

答案 0 :(得分:2)

我同意这些评论 - 一些示例数据会有所帮助,并且可以更精确地指定标记行以进行检查。

但一般情况下,如果每个Excel工作表的布局相同,我建议按

比较Excel数据
  1. 将每个工作表中的数据叠加在一起
  2. 添加新列“Source”以标识数据的工作表来源,并为每条记录添加一个等于1的CNT列。
  3. 使用新数据上的数据透视表进行并排比较
    • 在数据透视
    • 中使用“来源”作为“列标签”
    • 使用'Key'作为数据透视中的第一个'行标签'
    • 将要比较的任何其他值添加到“行标签”部分
    • 使用CNT作为'VALUE'
  4. 数据透视表中没有总CNT为2的任何行都意味着两个表之间存在差异。
  5. 这将允许您识别任何差异,以及仅出现在单个工作表中的那些行,简单的VLOOKUP将会遗漏这些行。查看example here。 Example1是一个基本案例,Example2显示了一个可扩展的解决方案,可以处理任意数量的不同源表和列。

    以下是一些示例数据,在您的情况下,KEY将是标识您的记录的两列的串联:

    - - - Worksheet MyOldData - - - - - - - 
    Key      Name        Income
    A        Aunders     111111
    B        Blake       222222
    C        Conan       333333
    D        Ders        444444
    
    - - - Worksheet MyNewData - - - - - - - 
    Key      Name        Income
    A        Anders      111111 <-- Diff Name
    B        Blake       200000 <-- Diff Income
    C        Conan       333333
    

    会导致 - &gt;

    - - -Worksheet ReadyToCompare - - - - - - - 
    Key      Name        Income  Source  Cnt
    A        Anders      111111  New     1
    B        Blake       200000  New     1
    C        Conan       333333  New     1
    A        Aunders     111111  Old     1
    B        Blake       222222  Old     1
    C        Conan       333333  Old     1
    D        Ders        333333  Old     1
    

    新的,可爱的,数据友好的“ReadyToCompare”表可用作数据透视表的源。