仅在满足特定条件时粘贴到单元格中

时间:2013-04-09 21:41:57

标签: excel excel-formula

我正在尝试创建满足特定条件的电子邮件列表。所以,我有三张纸。在第1张表中,我有一个电子邮件列表。在表2中,我有一个更大的电子邮件列表。现在,我需要确定第1号纸张中的电子邮件是否也在第2张纸上。如果是,我想在第3张纸上创建这些电子邮件的列表。

尝试即可。假设两个电子邮件列表位于A列(小列表)和B(大列表)中的同一张表中。 首先,我确定较小列表中的电子邮件是否也在较大的列表中。我用

  

= VLOOKUP(A1,$ B $ 1:$ B $ 100,1,假)

现在,我很困惑如何设置一个将电子邮件粘贴到单元格的功能,如果较小列表中的电子邮件也在较大的列表中。我想过尝试COUNTIF和IFERROR,但是无法产生任何有用的东西。我得到的最接近的是

  

=如果(VLOOKUP(A1,$ B $ 1:$ B $ 100,1,假)= A1,1,0)

当一个较小的列表中的电子邮件位于较大的列表中时,这给了我一个#N / A,当没有因为vlookup没有任何内容时。现在,而不是1s和#N / As我需要粘贴自己的电子邮件,IF函数不喜欢范围。请给我任何建议。感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

尝试以下

在Sheet 1 Cell A1中 -

=if(iserror(vlookup(A1,$B$1:$B$100,1,false))=TRUE,0,1)

在Sheet 1 Cell A2中,然后在页面的其余部分 -

=if(iserror(vlookup(A1,$B$1:$B$100,1,false))=TRUE,A1,A1+1)

确保您不使用A1的静态参考,因为我们希望它在表格的下方更改为A2等等。

在Sheet 3 Cell A1中 -

=if(iserror(vlookup(1, 'Sheet1'!A:B,2,false))=TRUE,"",vlookup(1, 'Sheet1'!A:B,2,false))

在Sheet 3 Cell A2中以及页面的其余部分 -

=if(iserror(vlookup(2, 'Sheet1'!A:B,2,false))=TRUE,"",vlookup(2, 'Sheet1'!A:B,2,false))
=if(iserror(vlookup(3, 'Sheet1'!A:B,2,false))=TRUE,"",vlookup(2, 'Sheet1'!A:B,3,false))

隐藏工作表1列A中的列,如果它位于两个工作表中,则进行测试。这只是通过并测试它是否在两个列表中,如果不是你没有递增计数器,因此它们不会显示在表3上。

在表2中,您基本上只返回一个列表,其中的电子邮件与两个条件匹配。这就是你需要增加查找值的原因。

答案 1 :(得分:1)

出于说明的目的,我假设小列表在Sheet1中的A1:A25范围内,大列表在Sheet2中的A1:A100范围内。

以下公式将被插入到图纸3的单元格A1中,并向下复制到该图纸的单元格A25(即小列表的长度)。

=IFERROR(INDEX(Sheet2!$A$1:$A$100,SMALL(IFERROR(MATCH(Sheet1!$A$1:$A$25,Sheet2!$A$1:$A$100,0),""),ROWS(A$1:A1)),1),"-")

这是一个数组公式,需要输入 Control - Shift - Enter 组合键。