Excel跨工作表匹配手机号并返回指定列值:用VLOOKUP还是MATCH?
跨工作表手机号匹配返回值:VLOOKUP vs MATCH
直接给结论:优先用VLOOKUP——它能一步完成「匹配手机号+返回对应值」的需求;而MATCH本身仅返回匹配值的位置,单独使用无法直接拿到目标值,必须搭配INDEX函数才行。
1. VLOOKUP的常规用法(最省心)
假设你的数据结构是:
- 目标工作表(比如
Sheet1):A列是待匹配的手机号,需要在B列返回对应值 - 数据源工作表(比如
Sheet2):B列是手机号(匹配列),C列是你要提取的对应值
在Sheet1的B2单元格输入公式:
=VLOOKUP(A2, Sheet2!B:C, 2, FALSE)
参数拆解:
A2:当前行要匹配的手机号Sheet2!B:C:查找范围,注意匹配列(手机号)必须是这个范围的第一列2:目标返回列在查找范围里的序号(这里C列是范围中的第2列)FALSE:强制精确匹配,避免模糊匹配导致错误结果
⚠️ 注意:两边的手机号格式要统一(比如都是文本或都是数值),否则会出现匹配失败的情况。
2. MATCH+INDEX组合(更灵活)
如果数据源里的手机号不在查找范围的首列(比如Sheet2的手机号在C列,要返回的是B列的值),VLOOKUP就不太方便了,这时候用MATCH+INDEX组合更合适:
在Sheet1的B2单元格输入公式:
=INDEX(Sheet2!B:B, MATCH(A2, Sheet2!C:C, 0))
参数拆解:
MATCH(A2, Sheet2!C:C, 0):找到A2的手机号在Sheet2C列的行号(0代表精确匹配)INDEX(Sheet2!B:B, 行号):根据行号从Sheet2的B列取出对应的值
总结
- 若匹配列是数据源查找范围的首列,直接用VLOOKUP,步骤更少更简单;
- 若匹配列不在首列,或需要更灵活地选择返回列,用MATCH+INDEX的组合。
内容的提问来源于stack exchange,提问作者Lexi Murphy
相关产品推荐
相关产品推荐

