1

我有 2 个工作簿。

首先被称为June2122.xls

它具有Last Name(B2:B300)、First Name(C2:B300) 等列...

其次是June Emails.xls

它具有Last Name(B2:B300)、First Name(C2:C300)、Email Address(D2:D300) 等列。这三列位于一个名为Data_Table

我需要做的是将First Nameand Last Name(B2:C2) fromJune2122.xlsFirst Nameand Last Name(B2:C2) from 进行比较June Emails.xlsJune Emails.xls如果它们匹配,那么我需要将(D2)中的电子邮件地址填充到新的单元格中June2122.xls

所有单元格都被格式化为“常规”。

我已经尝试了几个公式,我得到的最接近的是这个:

=IF(ISNA(VLOOKUP(B2,'June Emails.xls'!Data_Table,2,TRUE)),0,VLOOKUP(C2,'June Emails.xls'!Data_Table,3,TRUE))

我得到的只是电子邮件应该填充的单元格中的“错误”。

有人能帮忙吗?首先十分感谢!

4

3 回答 3

4

嗨,我知道这是一个老话题,但我刚刚发现堆栈溢出,

以下公式将根据连接值进行查找,而无需添加额外的连接字段

=IFERROR(INDEX(Sheet1!C$2:C$7,MATCH((A2&B2),(Sheet1!A$2:A$7&Sheet1!B$2:B$7),0),0),0)

**注意:这是一个数组公式,所以记得使用 Ctrl-Shift-Enter 让它工作:)

所以你可以看到每个部分引用的内容(对不起,我使用了我自己的虚拟数据)这是两个数据表

上面的公式在 Sheet2 的单元格 C2 中使用,并针对 Sheet1 列 A 和 B 查找 Sheet2!A2 和 B2 的值

表 1

表 2

弄清楚这个公式为我节省了几天的工作时间,我希望它有所帮助:)

于 2012-11-23T14:41:18.330 回答
1

我想到了。出于演示目的,我将用于测试工作簿。

test1.xlsx, 包含名字、姓氏、电话号码且没有电子邮件地址的工作簿 在此处输入图像描述

 

test2.xlsx, 包含名字、姓氏和电子邮件地址的工作簿 在此处输入图像描述

 

所以我需要通过使用 VLOOKUP 检查名称是否匹配来test2.xlsx填充每条记录的电子邮件地址。test1.xlsx

 

步骤 1.)我必须组合first_namelast_name字段并将值存储在一个单元格中。

 

去做这个:

一种。在每个工作簿中创建一个新列。我给它取名full_name 在此处输入图像描述

在此处输入图像描述

 

 

湾。在每个工作簿的新列中,创建 forumla =(A2&B2)。这会将两个值连接在一起。像这样:

在此处输入图像描述

 

 

C。然后选择该新full_name列中的所有字段并复制然后粘贴特殊>值(以摆脱公式)

在此处输入图像描述

 

 

步骤 2.)现在我们有了新列,其中包含需要在每个工作簿中查找的数据,我们将在工作簿中创建一个包含电子邮件地址 ( test2.xlsx) 的新范围。所以突出显示这两列full_nameemail_address定义一个名称。

在此处输入图像描述

 

 

第 3 步。)现在返回您的test1.xlsx工作簿(没有填充电子邮件地址的工作簿)并在空email_address单元格(我们将从 E2 开始)中,在公式栏中输入以下公式:

=VLOOKUP(D2,test2.xlsx!emailinfo,2,FALSE)

请记住,VLOOKUP 函数的语法是:

= VLOOKUP ( lookup_value , table_array , col_index_num , range_lookup )

 

 

第 4 步。)现在假设某人没有电子邮件地址,比如 Tom Jones。我们将#N/A在我们的单元格中获得一个令人讨厌的值: 在此处输入图像描述

 

要摆脱这个:

一种。通过单击 1 选择所有列标题 在此处输入图像描述

 

 

湾。单击数据 > 过滤器图标。取消选中(Select All)并仅选中#N/A在此处输入图像描述

 

 

C。单击确定。回到工作簿,只需突出显示包含值的电子邮件字段#N/A并删除。

前:

在此处输入图像描述

后:

在此处输入图像描述

 

 

d。要么关闭你的过滤器,要么回到过滤器设置并重新检查,现在你将拥有看起来干净的空白空间,(Select All)而不是到处都是令人讨厌的s。#N/A

(显然,对于像这样的小表,上面的内容似乎有点不切实际,但我正在使用的 ACTUAL 工作簿包含数千条记录,所以这些技巧非常方便)

希望这对将来的其他人有所帮助!请留下任何意见或替代方案或建议,我们始终感谢您的反馈!:)

于 2012-07-30T19:38:08.843 回答
0

在没有看到数据的情况下,我最好的问题是您希望“FALSE”作为 VLookup 中的最后一个标准,而不是“真”,因为您想要完全匹配。

http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx

另外:您能否使用跟踪公式评估来准确告诉我们论坛的哪一部分导致“错误”答案。

于 2012-07-30T17:10:41.387 回答