1

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

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

现在我需要说是否存在匹配,然后比较此匹配的工作表之间的所有其他数据。我需要交叉检查大约 15 列左右的其他数据,这就是我遇到的问题。我以为我可以只使用简单的 IF 语句,IF=match 然后检查 D 列 = D 列,但我认为我仍然需要索引引用或匹配值的引用来与其他值进行比较。

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

4

1 回答 1

2

我同意这些评论 - 一些示例数据将有助于更准确地指定您希望如何标记行以进行检查。

但一般来说,如果每个 excel 工作表的布局相同,我建议比较 excel 数据

  1. 将每个工作表中的数据堆叠在一起
  2. 添加新列“源”以标识数据的工作表源,并为每条记录添加一个等于 1 的 CNT 列。
  3. 在新数据上使用数据透视表并排比较
    • 在数据透视表中使用“来源”作为“列标签”
    • 使用“键”作为枢轴中的第一个“行标签”
    • 将您要比较的任何其他值添加到“行标签”部分
    • 使用 CNT 作为“价值”
  4. 数据透视表中总 CNT 不为 2 的任何行都表示两个表之间存在差异。

这将允许您识别任何差异,以及仅出现在单个工作表中的那些行,简单的 VLOOKUP 会错过这些行。在这里查看一个示例。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

会导致 -->

- - -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”表可以用作数据透视表的来源。

于 2013-01-10T03:47:21.280 回答