如何在Microsoft Excel中匹配两表姓名列并更新对应结果与备注?
原始数据
第一工作表(Sheet1)
| Number | Name | Result | Remarks |
|---|---|---|---|
| 1 | Jhon | 5 | Good |
| 2 | Doe | 4 | Better |
| 3 | Alex | 3 | Poor |
第二工作表(Sheet2)
| Number | Name | Result | Remarks |
|---|---|---|---|
| 1 | Alex | 3 | Poor |
| 2 | Dave | ||
| 3 | Jhon | 5 | Poor |
需求说明
在第二工作表的姓名列输入值后,自动与第一工作表的姓名列匹配:匹配成功则填充第一工作表对应的Result和Remarks;匹配失败则保持为空。
实现方案
可以通过Excel内置函数快速实现自动匹配填充,以下提供两种兼容不同版本的方法:
方法一:使用XLOOKUP(推荐,适用于Excel 365/2021及以上版本)
假设第一工作表名称为
Sheet1,第二工作表为Sheet2。在Sheet2的C2单元格(第一个Result单元格)输入公式:=XLOOKUP(B2, Sheet1!B:B, Sheet1!C:C, "")公式逻辑:以当前行姓名(B2)为匹配值,在
Sheet1的姓名列(B列)查找,找到后返回对应行的Result值(C列),未找到则返回空值。在
Sheet2的D2单元格(第一个Remarks单元格)输入公式:=XLOOKUP(B2, Sheet1!B:B, Sheet1!D:D, "")选中C2和D2单元格,拖动右下角的填充柄向下覆盖所有需要匹配的行。
方法二:使用VLOOKUP(兼容所有Excel版本)
在
Sheet2的C2单元格输入公式:=IFERROR(VLOOKUP(B2, Sheet1!B:D, 2, FALSE), "")公式逻辑:用VLOOKUP精确匹配姓名,返回
Sheet1中对应行的Result(查找范围的第2列),用IFERROR捕获匹配失败的错误,返回空值。在
Sheet2的D2单元格输入公式:=IFERROR(VLOOKUP(B2, Sheet1!B:D, 3, FALSE), "")同样拖动填充柄向下填充公式到所有目标行。
效果验证
- 当在
Sheet2的姓名列输入存在于Sheet1中的名字时,Result和Remarks会自动填充对应值; - 输入不存在的名字时,两列保持为空。
内容的提问来源于stack exchange,提问作者Farlar
相关产品推荐
相关产品推荐

