excel - 当键列(具有引用值的列)不在最左侧时查找 Excel 数据

标签 excel

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

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

有没有办法让 Excel 在主电子表格的电子邮件列中查找并搜索其他电子表格中提到的电子邮件。找到匹配的电子邮件后,在主电子表格中查找该人的数据,并将它们转换到另一个电子表格中的适当列中。

我很高兴澄清任何没有多大意义的事情。

干杯!

编辑:将标题从“基于特定值从另一个 Excel 电子表格导入数据”更改为“当键列(具有引用值的列)不在最左侧时查找 Excel 数据”

最佳答案

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

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

使用 Excel 的 LOOKUP功能。假设在您的两个电子表格中,“姓氏”是 A 列,并且您在问题中以正确的顺序命名了所有列,那么在第 1 行中查找姓氏将是:

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

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

请注意,这假定您的主电子表格有 100 行要查找的数据(相应调整 - LOOKUP 不适用于整列,并且您不能使用 VLOOKUP,但确实如此)。

......如果他们不是

使用 INDEX 的组合和 MATCH功能。假设与上面相同的布局,第 1 行中姓氏的查找将是:
=INDEX([Master.xls]TableName'!$A:$H,MATCH(C1,[Master.xls]TableName'!$C:$C,0),1)

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

两种变体的注意事项

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

关于excel - 当键列(具有引用值的列)不在最左侧时查找 Excel 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892136/

相关文章:

excel - 文件格式 := 51 or 52 doesn't save file as an excel file

vba - 用户窗体列表框显示范围内的值

vba - Excel VBA 日期格式

c# - 从 Excel 互操作读取并将不同的值写入另一个工作表

vba - 将行从工作表复制到新工作表的末尾 Excel VBA

sql - 在 Excel 中针对 Access DB 中的空数据生成 !N/A 错误

java - 公式单元格上的 JExcelApi 货币格式 - 文件错误

excel - 显示带有输入的公式表达式而不是其结果

vba - 使用 find 方法查找下一个可用的空白行

vba - 如果是星期一,则添加 x y z