0

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

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

=vlookup(A1,$B$1:$B$100,1,false)

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

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

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

4

2 回答 2

1

尝试以下

在工作表 1 单元格 A1 -

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

在工作表 1 单元格 A2 和页面的其余部分 -

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

确保不要对 A1 使用静态引用,因为我们希望它在工作表下更改为 A2 等等。

在工作表 3 单元格 A1 中 -

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

在工作表 3 单元格 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 中,您实际上只返回一个列表,其中 E-mail 符合这两个条件的顺序。这就是您需要增加查找值的原因。

于 2013-04-09T21:44:34.257 回答
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组合键输入。

于 2013-04-09T23:44:13.863 回答