比较一行中的值

时间:2015-11-04 10:17:15

标签: excel excel-vba if-statement excel-formula worksheet-function vba

我在Excel中有一个表,其中包含大量行,其中包含来自特定过程之前和之后的数据。我想比较每一行的值,以便:

  • 我看到程序前后的值
  • 我看到程序中删除的值(也就是以前的值)
  • 我看到了程序中添加的值(也就是之前没有的值)

所以,最后,我会有一个这样的表:

Before                  After                   Common          Removed         Added
Max     Marie   Peter   Eve     Peter   Marie   Marie, Peter    Max             Eve
Paul    Sarah   Marie   Sarah   Marie   Max     Sarah, Marie    Paul            Max
Peter   Lucas   Marie   Sarah   Lucas   Chris   Lucas           Peter, Marie    Sarah, Chris

实现这一目标的最有效方法是什么? 是否有一个很好的功能,或者应该创建一个宏?

1 个答案:

答案 0 :(得分:0)

如果您准备将Common / Removed / Added作为与BeforeAfter相同尺寸的块处理,这非常容易:

SO33519183 example

在G2:

=IF(ISERROR(MATCH(A2,$D2:$F2,0)),"",A2)  

在J2中:

=IF(ISERROR(MATCH(A2,$D2:$F2,0)),A2,"")  

在M2:

=IF(ISERROR(MATCH(D2,$A2:$C2,0)),D2,"")  

将每个复制的两个单元格复制到右侧,然后将所有单元格复制到适合的位置。

相关问题