Excel跨工作表匹配数据并填充对应列的公式实现需求
Excel跨工作表数据匹配填充方案
刚好做过类似的需求,用Excel自带的函数就能轻松搞定,给你两种实用方法,看你用的Excel版本选就行:
方法1:VLOOKUP(兼容所有Excel版本)
在Sheet2的Column2(比如B2单元格,也就是需要填ID的第一个位置)输入下面的公式,然后下拉填充整列:
=VLOOKUP(A2, Sheet1!$B$2:$A$4, 2, FALSE)
公式拆解:
A2:Sheet2当前行里要匹配的data值(也就是你的Column1内容)Sheet1!$B$2:$A$4:Sheet1的数据源区域,这里特意把data列(Column2)放在前面,因为VLOOKUP要求查找值必须在区域的第一列;用绝对引用$是为了下拉填充时区域不会乱跑2:指定返回区域里第2列的内容(也就是Sheet1的ID列Column1)FALSE:强制精确匹配,避免出现近似匹配的错误结果
方法2:XLOOKUP(新版Excel首选,更灵活)
如果你用的是Excel 365或2021及以上版本,XLOOKUP比VLOOKUP好用太多,不用调整列顺序,直接写:
=XLOOKUP(A2, Sheet1!$B$2:$B$4, Sheet1!$A$2:$A$4, "无匹配")
同样下拉填充整列即可。
公式拆解:
A2:Sheet2中要匹配的data值Sheet1!$B$2:$B$4:Sheet1里存data的列(Column2),作为查找目标Sheet1!$A$2:$A$4:Sheet1里存ID的列(Column1),是我们要返回的内容"无匹配":可选参数,找不到对应值时显示的提示文本,不需要的话可以改成""(空值)
小提示
- 要是你的数据行数很多,直接把公式里的区域改成整列引用就行,比如
Sheet1!$B:$A(VLOOKUP用)或者Sheet1!$B:$B/Sheet1!$A:$A(XLOOKUP用) - 如果Sheet1里有重复的data值,这两个函数都会返回第一个匹配到的ID;要是需要处理重复值的场景,可以用
INDEX+MATCH组合来实现更复杂的匹配逻辑
内容的提问来源于stack exchange,提问作者user245255




