我有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 Name
的{{1}}和Last Name
(B2:C2)与June2122.xls
和First Name
进行比较(B2:C2)来自Last Name
。如果匹配,那么我需要将June Emails.xls
(D2)中的电子邮件地址填充到June Emails.xls
所有细胞都形成为“一般”。
我尝试过几个公式,我得到的最接近的是这个公式:
June2122.xls
我得到的只是电子邮件应填入的单元格中的“FALSE”。
任何人都可以帮忙吗?非常感谢提前!
答案 0 :(得分:4)
嗨,我知道这是一个老话题,但我刚发现Stack溢出,
以下公式将基于连接值进行查找,而无需添加额外的连接字段
=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,并且正在查找Sheet2!A2&的值。 B2对Sheet1列A和B
找出这个公式已经节省了我几天的工作,我希望它有所帮助:)
答案 1 :(得分:1)
我明白了。出于演示目的,我将用于测试工作簿。
test1.xlsx
,包含名字,姓氏,电话号码和没有电子邮件地址的工作簿
test2.xlsx
,包含名字,姓氏和电子邮件地址的工作簿
所以我需要通过使用VLOOKUP检查名称是否匹配来填充从test2.xlsx
到test1.xlsx
的每条记录的电子邮件地址。
第1步。)我必须合并first_name
和last_name
字段,并将值存储在一个单元格中。
要做到这一点:
a。在每个工作簿中创建一个新列。我把它命名为full_name
b。在每个工作簿的新列中,创建forumla
=(A2&B2)
。这将把两个值连接在一起。像这样:
c。然后选择新
full_name
列中的所有字段并复制然后粘贴特殊>值(摆脱公式)
第2步。)现在我们的新列包含了我们需要在每个工作簿中查找的数据,我们将在工作簿中创建一个包含电子邮件地址的新范围({{1} })。因此,请突出显示两列
test2.xlsx
和full_name
并定义名称。
第3步。)现在返回到您的
email_address
工作簿(没有填充电子邮件地址的工作簿)和空test1.xlsx
单元格(我们将从E2开始) ),在公式栏中写下面的公式:
email_address
请记住VLOOKUP函数的语法是:
=VLOOKUP(D2,test2.xlsx!emailinfo,2,FALSE)
第4步。)现在让我们说某人没有电子邮件地址,汤姆琼斯说。我们将在我们的单元格中获得令人讨厌的
= VLOOKUP ( lookup_value , table_array , col_index_num , range_lookup )
值:
要摆脱这个:
a。单击1选择所有列标题
b。点击数据>过滤图标。取消选中
#N/A
并仅查看(Select All)
。
c。单击“确定”。返回工作簿,只需突出显示包含值
#N/A
的电子邮件字段并删除即可。
<强>之前:强>
<强>后:强>
d。要么关闭过滤器,要么重新进入过滤器设置并重新检查
#N/A
现在而不是讨厌看(Select All)
遍布的地方你看起来干净整洁空的空间。
(显然对于像这样的小表,上面看起来有点不切实际,但我正在使用的ACTUAL工作簿包含数千条记录,所以这些技巧非常方便)
希望这有助于将来的其他人!请留下任何意见或建议,反馈总是赞赏! :)
答案 2 :(得分:0)
没有看到数据,我最好的问题是你想要“FALSE”作为VLookup中的最后一个标准,而不是“真实”,因为你想要完全匹配。
http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx
另外:您是否可以使用跟踪公式评估来确切地告诉我们论坛的哪一部分导致“错误”答案。