2016-06-09 47 views
1

我已经通读了一些与我的类似的主题,但我无法找到我需要的答案。也许这是我的逻辑问题。如何比较Excel中的工作表中的行?

我有两张相同的数据,但他们来自两个不同的来源。我需要比较第一张纸上的行到第二张纸上的行,找出丢失或不同的东西,以便我可以修复。

我有列A - M有数据点。然后我有第N列,我将所有列连接在一起,并将它们与其他表做相同的事情,以便我可以找到不匹配。在40,000条记录中,我有6100条不匹配。

我想要做的是比较整个行(或连接)并找出两者之间的不同值。我试图通过IF与VLookup和嵌套的IF做到这一点,但是这并不是正确的,因为我没有得到它来比较来自同一行的相同值以及我用完了分配的嵌套空间。我在想一场比赛,索引系统可能会起作用。我需要一些帮助!

编辑: 更清晰的行不排队。我要做的是确保表格“1”中的所有行都在表格“2”中,但不是所有表格“2”都需要在“1”中。基本上我需要这个 -

从工作表“1”找到单元格A1在工作表“2”中的值A:A.然后将B1-N1匹配到同一行(无论它是哪一行)。如果可能的话,我想通过突出显示或有一个词如“不匹配”来识别

回答

0

我会使用VBA解决方案。如果每张纸的行数相同,并且您将第1行与第1行进行比较等,则:

1)遍历每行并连接每个工作表的行的单元格。

2)将清理和修剪功能应用于结果。

3)比较结果。

4)如果它们匹配,则移动到下一行。

5)如果它们不匹配,则遍历行范围中的每个单元格以找出不同的单元格并以某种方式捕获它。

6)在某处打印结果。

OR

将每个片材的范围内的值成两个阵列,并比较所述阵列(更快)。

我确定有更好的方法,但那至少是我的方法。

+0

我很难解释我需要什么。假设我在表单a中的行由A B C D E F组成。然后我连接并获得ABCDEF。我将其与表2进行了比较,以确定它是否具有ABCDEF。如果没有,我需要的下一步是找出它是否有“A”。如果它有一个A,那么我需要找到那个行中有一个“A”,如果该行中的下一列有一个“B”,因为它可能有1或Q或其他。如果它有一个B然后去第三列,那么这是否有意义? –

+0

@ChristopherWeber是的,它非常有意义。这就是我上面所说的,只能用VBA来做。 – Brian

0

我通常会创建一个新工作表,并使用每个单元在单张纸上按单元格比较。即在新的单元格a1放=value(Sheet1!A1=Sheet2!A1)这给你一个1,他们是相同的,而他们不同的地方是零。

如果您希望可以将原始图纸上的第n列设置为新图纸上同一行的总和以便于参考。