![指数匹配 Excel](https://linux22.com/image/1546081/%E6%8C%87%E6%95%B0%E5%8C%B9%E9%85%8D%20Excel.png)
我有两张工作表(工作表 1 和工作表 2)。工作表 1 包含与列 B 相关联的数字 A 列)- 想想 A 中的公司 ID 号和 B 中的公司名称。
工作表 2 中有另一组 A 列 ID 号与该工作表中的 B 列公司名称相关联)- 该组使用类似的公司名称,但使用不同的公司 ID 编号系统
我想要比较工作表 1 和工作表 2。当工作表 1 中的名称与工作表 2 中的名称匹配时,我想要添加一个新列,以便我能看到工作表 1 中的公司 ID 号。
我已经尝试了找到的几个例子,但没有得到任何结果。
谢谢你,鲍勃
答案1
看起来你想要
=IFERROR(IF(INDEX(Sheet1!A:A, MATCH(B1,Sheet1!B:B,0))=A1, "same", INDEX(Sheet1!A:A, MATCH(B1,Sheet1!B:B,0))), "no match")
将其放入Sheet2!C1
并向下拖动/填充。(如果有标题行,请相应调整行号。)
MATCH(B1,Sheet1!B:B,0)
从 Sheet2 上的当前行中获取公司名称 (B1
),然后在 Sheet1 上的公司名称中查找 (Sheet1!B:B
)。这将返回索引(位置)或错误。INDEX(Sheet1!A:A, (the above))
从 Sheet1 中获取与 返回的索引号相对应的 ID 号MATCH
。如果MATCH
返回错误,这也会。- 然后我们比较 Sheet1 中的 ID 号和 Sheet2 中的 ID 号(
A1
)。如果它们相等,则显示same
,否则显示 Sheet1 中的 ID 号。 - 如果
MATCH
返回错误,则随后的所有内容都是错误。在这种情况下,显示no match
。
我添加了same
和no match
字符串以便于清晰/说明。如果您不想要它们,并且想要显示空白,只需将它们替换为空字符串(""
)。
例子:
笔记:
- 名称必须匹配确切地。
- 这不会检测 Sheet1 中存在但不存在于 Sheet2 中的名称(例如“Buy More”和“Slate Rock and Gravel Company”)。