Excel:将两列的差异存储在另一列中

时间:2016-10-26 11:49:32

标签: excel ms-office

我有两个电子邮件列表。一个列表在A列中,另一个列在B列中。

我想从A中删除B中的所有电子邮件 将结果存储在C列上。

我搜索了一个解决方案,但他们只是突出了差异, 我想删除它们。

1 个答案:

答案 0 :(得分:1)

假设您的两个列表分别位于A列和B列,并且列表从第二行开始(例如A2和B2)。将此公式放在单元格 C2 中并填写:

=IF(ISERROR(VLOOKUP(A2,B:B,1,FALSE)),A2,"")

如果列A包含重复项,则可以提取将此公式放在单元格D2中的唯一值:

=IFERROR(INDEX($C$2:$C$1000,MATCH(0,INDEX(COUNTIF($D$1:D1,$C$2:$C$1000),0,0),0)),"")

您可以根据列表的长度在$ C $ 2中更改1000:$ C $ 1000。

查看我的示例:

       column A|  column B|                   column C                 |     
  1|
  2|      apple|    banana| =IF(ISERROR(VLOOKUP(A2,B:B,1,FALSE)),A2,"")|
  3|     banana|     grape| =IF(ISERROR(VLOOKUP(A3,B:B,1,FALSE)),A3,"")|
  4|     orange|     melon| ...
  5|  pineapple|     limon| =IF(ISERROR(VLOOKUP(A5,B:B,1,FALSE)),A5,"")| 
  6|     orange|            ...  
  7|      limon|              
  8|      apple|
  9|      grape|
 10|      melon|
 11|      peach|          | =IF(ISERROR(VLOOKUP(A11,B:B,1,FALSE)),A11,"")|



                                       column D                                         |
    =IFERROR(INDEX($C$2:$C$1000,MATCH(0,INDEX(COUNTIF($D$1:D1,$C$2:$C$1000),0,0),0)),"")|
    =IFERROR(INDEX($C$2:$C$1000,MATCH(0,INDEX(COUNTIF($D$1:D2,$C$2:$C$1000),0,0),0)),"")|
    ...
    =IFERROR(INDEX($C$2:$C$1000,MATCH(0,INDEX(COUNTIF($D$1:D10,$C$2:$C$1000),0,0),0)),"")|

示例结果:

     column A|  column B| column C| column D|     
        apple|    banana|    apple|    apple|
       banana|     grape|         |   orange|
       orange|     melon|   orange|pineapple|
    pineapple|     limon|pineapple|    peach| 
       orange|              orange|
        limon|                    |
        apple|               apple|
        grape|                    |
        melon|                    |
        peach|               peach|