如何在文件之间传输数据?

时间:2018-08-21 19:26:41

标签: excel

在一个电子表格中,我只有一封电子邮件列表。在另一个电子表格中,我有一封电子邮件列表,还有姓名,组织等。

我有一定的编程背景,但是没有操纵Excel的知识。关于伪代码,我想做的是查看第一个文档中新行中的每个电子邮件地址,测试第二个文档中是否有该电子邮件,如果是,则从第二个中检索名字,姓氏,组织等。文档,然后将其粘贴到第一列的相应列中。如果没有,请在第一个文档中以绿色突出显示整个行。

这可能吗?非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

通常使用vlookup()函数来处理。因此,您可以将book1中的电子邮件用作lookup_value,将包含book 2中的值的范围用作table_array,将book 2中的列包含要导入的值作为col_index_num(因此,如果book 2具有电子邮件,名称,按该顺序组织,则可以使用2来输入名称),并使用false作为range_lookup参数来获得完全匹配。

+VLOOKUP(A1,[Book2.xlsm]Sheet1!$A$1:$B$3,2,FALSE)

这将在书2中没有匹配电子邮件的单元格中留下#N / A。您可以使用条件格式将行变为绿色,方法是说“使用公式确定要格式化的单元格”,然后使用例如= isna($ b $ 1)作为公式。

答案 1 :(得分:0)

这可以通过几种不同的方法来完成,最简单的方法是vlookup(),但要注意vlookup()和工作表2的排列数据:从工作表2返回的任何内容都必须是查找值的右侧(在您的情况下为电子邮件地址)。 Vlookup()不会在左侧返回任何内容。

此外,Excel单元格不会放入到其他单元格中,但是会在当前单元格中接收一个值。 (是的,您可以编写VBA函数以将放入到单元格中,但是考虑到您“操纵Excel”的经验,可能会更先进)

假设工作表2:

A             B            C
John@xyz.com  John Smith   Big Company

表1:

A             B
John@xyz.com

您在工作表1中的伪代码为:

vlookup(从工作表a,在sheet2-列A(1)到C(最后一行),返回第n列,False-我想要一个精确匹配)

vlookup表达式为: (同样在工作表1 B列中-返回公司名称

=vlookup(a1,sheet2!a1:c1,3, 0)

这里3是指sheet2的第三列。

如果您需要更多信息:

GOOGLE:
vlookup() hlookup() index(match())

相关问题