我对 Excel 的工作知识有限,希望有人能帮助我解决我的问题。
我有两个不同的工作表(例如 F1 和 F2),其中姓氏在 A 列,名字在 B 列。电子邮件地址在 F2 的 F 列中。我需要比较姓名,如果姓名匹配,我需要将相应的电子邮件地址复制到 F1 中。
谢谢
答案1
如果我正确理解了您的问题,您需要一个公式来读取 F1 上的名字和姓氏,在 F2 上找到相应的行,并返回电子邮件地址。此数组公式将实现此目的。输入公式时请确保按 Ctrl+Shift+Enter,因为它是一个数组公式。
=INDEX('F2'!F:F, MATCH(A1&B1, 'F2'!A:A&'F2'!B:B, 0))
假设如下:
- 姓名位于 F1 和 F2 的 A 和 B 列
- 电子邮件地址位于 F2 的 F 列
- 公式输入到表 F1 中
请注意,行号应根据您输入公式的位置(“”1
中的“ )而改变A1&B1
。
答案2
我遇到了类似的问题,并使用了 bdr9 的答案来提出自己的答案。如果我在谷歌搜索中找到了更好的答案,我会把这个贴在那里,但这个 stack exchange 问题是我找到的最接近的答案。
我尝试匹配一系列值中的一个值,并从匹配值的另一列返回关联值。我将一台服务器上的列表中的 MAC 地址(用于 IP 电话)与具有指定名称的 MAC 地址的 MAC 地址进行比较。
我想要一种将 MAC 与名称匹配的快捷方式,而未知名称列表的 MAC 比包含名称的列表更多/不同。这就是我想出的办法。
E 列是与 B 列已知名称关联的 MAC。F 列是未知 MAC 列表。我的公式是在 G 列输入的,与未知 MAC 列表一致。“$”用于绝对设置范围。
作为 G2 的输入
=INDEX($A$3:$A$112,MATCH(E2,$D$3:$D$112,0))
=INDEX([value you wish to return when there is a match],MATCH([cell you are trying to match],[range you are matching to],[not sure what the 0 is for]))
答案3
您需要在工作表 F1 的 F 列中使用 IF() 函数。使用您的命名法,在工作表 F1 的单元格 F1 中:
=IF(AND(EXACT('F1'!A1,'F2'!A1),EXACT('F1'!B1,'F2'!B1)),'F2'!F1)
如果姓和名完全匹配(因此请检查列表中的字母大小写和前导/尾随空格),则将返回工作表 F2 中的电子邮件地址;如果不匹配,则返回 FALSE。这还要求列表的顺序相同。例如:
A、B
字母、数字
Z、A
最后两个不匹配,因为它们被切换了。