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

我有一个Excel电子表格,其中包含以下列:

姓/名/电子邮件/性别/信息1 /信息2 /信息3 /信息4

这是一个包含每个人详细信息的主要spreasheet.

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

有没有办法让Excel查看主电子表格的电子邮件列,并搜索其他电子表格中提到的电子邮件.找到匹配的电子邮件后,在该主电子表格中查找该人员的数据,并将其转置到另一个电子表格中的相应列中.

我很乐意澄清任何没有多大意义的事情.

干杯!

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

最佳答案 在您的情况下,您希望在数据表上执行查找,其中键列不是最左侧的列 – 这意味着您不能使用Excel的主要竞争者进行此类查找,即VLOOKUP公式.以下方式将起作用:

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

使用Excel的LOOKUP功能.假设在您的电子表格中,“姓氏”是A列,并且您已在问题中按正确顺序命名所有列,则第1行中的Surname查找将为:

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

其他栏目相应调整.第二个参数永远不会改变;第三个采用您想要查找的值在主表中的任何列索引(即B表示名字,D表示性别等).

请注意,这假设您的主电子表格要查找100行数据(相应调整 – LOOKUP不适用于整列,并且您不能使用VLOOKUP,这样做).

……如果他们不是

使用INDEX和MATCH函数的组合.假设与上面相同的布局,第1行中Surname的查找将是:

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

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

注意两种变体

为了演示,“Master.xls”和“TableName”只是占位符 – 它们需要被正确的文件和表名替换.创建文件间引用的最简单方法是打开两个文件并按点填充公式并单击 – Excel将为您创建正确的引用.但是,请注意,链接到公式中的另一个文件依赖于该文件不会更改其路径.

点赞