当键列(具有参考值的一列)不是最左边时查找Excel数据

我有一个Excel电子表格,其中有以下列:姓/名/电子邮件/性别/信息1 /信息2 /信息3 /信息4这是一个主要spreasheet与每个人的细节。

我有另一个电子表格,其中只包含less数人的电子邮件地址。 所有这些都在主电子表格中。 栏目如下:姓/名/电子邮件/项目/性别/信息2 / info 3 / info 4 / info 1

有没有办法让Excel查看主电子表格的电子邮件列,并search其他电子表格中提到的电子邮件。 find匹配的电子邮件时,请在主电子表格中查找该人员的数据,并将其转换到其他电子表格的相应列中。

我很乐意澄清任何没有道理的事情。

干杯!

编辑:改变标题从“从另一个Excel电子表格基于特定值导入数据”更改为“查找Excel数据时键列(一个与参考值)不是最左边”

在你的情况下,你想要在键列不是最左边的列的数据表上进行查找 – 这意味着你不能使用Excel的主要竞争者进行这种查找,即VLOOKUP公式。 以下方法将工作:

如果主电子表格中的电子邮件按升序sorting

使用Excel的LOOKUPfunction。 假设在你的电子表格中,“Surname”是A列,并且你已经按照正确的顺序在你的问题中命名了所有的列,那么第1行中Surname的查找就是:

 =LOOKUP(C1,'[Master.xls]TableName'!$C$1:$C$100,'[Master.xls]TableName'!$A$1:$A$100) 

其他列也相应调整。 第二个参数不会改变; 第三个是在主表(即B表示名字,D表示性别等)中使用你想要查找的值的任何列索引。

请注意,假定您的主电子表格为100行数据查找(相应地进行调整 – LOOKUP不能与整列一起使用,并且您不能使用VLOOKUP )。

…如果他们不是

使用INDEXMATCHfunction的组合。 假设与上面相同的布局,第1行中的姓氏查找将是:

 =INDEX([Master.xls]TableName'!$A:$H,MATCH(C1,[Master.xls]TableName'!$C:$C,0),1) 

请注意,如果地址不完全匹配,则会失败 – 请注意大写差异,尾随和前导空格以及不同的单元格数据格式。

注意这两个变种

为了演示,“Master.xls”和“TableName”只是占位符,它们需要被正确的文件和表名取代。 创build文件间引用最简单的方法是打开这两个文件并填写每个点的公式,然后单击 – Excel将为您创build正确的引用。 但是,要警告的是,链接到公式中的另一个文件依赖于该文件不会改变其path。