Google Sheets中匹配列后自动跨表填充数据的实现方法
Google Sheets 跨表匹配批量填充数据方案
作为新手,直接用数组公式能一次性搞定整列数据,不用挨个下拉,还能避免常见报错,具体操作如下:
一键批量填充公式(推荐新手)
在Sheet1的B1单元格输入以下公式,回车后整列会自动填充:
=ARRAYFORMULA(IFERROR(VLOOKUP(A:A, {Sheet2!B:B, Sheet2!C:E}, {2,3,4}, FALSE)))
公式拆解(搞懂原理就不会报错了)
ARRAYFORMULA:让公式自动应用到A列的所有行,不用手动下拉填充IFERROR:如果找不到匹配项,单元格显示空白,避免出现烦人的#N/A错误VLOOKUP(A:A, {Sheet2!B:B, Sheet2!C:E}, {2,3,4}, FALSE):A:A:指定要匹配的Sheet1 A列数据{Sheet2!B:B, Sheet2!C:E}:把Sheet2的匹配列(B列)和要提取的列(C-E列)合并成临时区域——VLOOKUP只能查找区域的第一列,这步是关键,之前报错大概率是没做这个合并{2,3,4}:提取临时区域的第2、3、4列,对应Sheet2的C、D、E列,刚好对应Sheet1的B、C、D列FALSE:要求精确匹配,只有内容完全一致才会匹配成功
单单元格分步填充方案(适合理解基础逻辑)
如果想一步步来,先理解单个单元格的匹配逻辑,可以这么做:
- 在Sheet1的B1单元格输入:
=IFERROR(INDEX(Sheet2!C:C, MATCH(A1, Sheet2!B:B, 0)))
- 把B1的公式复制到C1,把
Sheet2!C:C改成Sheet2!D:D - 再复制到D1,把
Sheet2!C:C改成Sheet2!E:E - 选中B1-D1,下拉填充到所有行
逻辑说明
MATCH(A1, Sheet2!B:B, 0):查找A1的内容在Sheet2 B列的行号INDEX(Sheet2!C:C, 行号):根据找到的行号,提取Sheet2 C列对应位置的数据IFERROR:同样是避免匹配不到时出现报错
内容的提问来源于stack exchange,提问作者hejoooC
相关产品推荐
相关产品推荐

