如何在Excel中的两个工作表中创建基于查找的差异?

时间:2016-04-28 12:19:05

标签: excel vba excel-vba excel-2010 office365

我知道有很多其他方法可以做到这一点,但由于原因,我陷入了Excel:D

我有一个列出ID和说明的电子表格。每个月,我都会拍摄一组数据的快照并将其粘贴到Excel中。让我们说Jan和Feb工作表在同一个工作簿中。

这些值并不总是按相同的顺序排列,因此根据ID查找数据至关重要。

January (Sheet 1)
A     B
ID    Desc
1     DingDong   
2     ClapClap
3     Hotdog
4     Rhythm of the feet

Feb (Sheet 2)
A     B
ID    Desc
1     Changed
2     ClapClap
4     uh oh!
3     Hotcats

我想写一个脚本,公式或其他什么来生成基于ID 在两个工作表之间发生变化的每个描述的列表。

所以在这种情况下,它会显示

Changes
1    Changed
3    Hotcats
4    uh oh!

1 个答案:

答案 0 :(得分:0)

您可以在if语句公式中使用vlookup,如下所示:

=IF(VLOOKUP(D1,A1:B5,2,0)<>VLOOKUP(A1,D1:E5,2,0),"Diff","Same")

此示例将您的2个列表放在cols A&amp; A的同一张表中。 B和D&amp; E和col G中的公式。您的ID位于第一个col和每个列表第二个中的值,但您可以跨工作表进行链接,它仍然是相同的。如果需要,您可以在下一列中使用另一个公式来显示原始值。

编辑:

要处理2张图纸,请为您拥有的每一行数据复制此公式:

=IF(VLOOKUP(Sheet2!A1,Sheet1!A1:B5,2,0)<>VLOOKUP(Sheet1!A1,Sheet2!A1:B5,2,0),"Diff","Same")

测试工作时,具有公式的单元格会根据结果生成单词Diff或Same。