问题描述
我想在excel中根据第一个sheet页中的第一个字段A,作为查找条件,去第二个sheet页中查询第一个字段A,如果查询到了,把第二个sheet页中的第二个字段B的值,填充到第一个sheet页中I字段。
其实之前也用到过Excel中的 sumif 函数,也能满足我的条件,但是今天不用sumif了,使用VLookUP函数 和 INDEX与MATCH组合函数 来实现。
VLOOPUP函数
使用VLOOKUP函数:
在第一个工作表的I2单元格中输入下列公式:
=VLOOKUP(A2, 第二个工作表的名称!A:B, 2, FALSE)
这里需要替换“第二个工作表的名称”为你实际的第二个工作表的名称。确保你的工作表名称没有空格,如果有的话,你需要在名称周围加上单引号。
解释
A2 是第一个工作表中用作查找条件的第一个字段的单元格引用。
第二个工作表的名称!A:B 是第二个工作表的查找区域(你需要将第二个工作表的名称替换为实际的工作表名称)。
2 表示你想从第二个工作表的第二列(即B列)返回匹配值。
FALSE 参数表示要求精确匹配。
INDEX与MATCH组合函数
使用INDEX与MATCH组合函数:
在第一个工作表的I2单元格中输入下列公式:
=INDEX(第二个工作表的名称!B:B, MATCH(A2, 第二个工作表的名称!A:A, 0))
同样,你需要替换“第二个工作表的名称”为你实际的第二个工作表的名称。
解释
MATCH 函数在第二个工作表中搜索与A2相匹配的值,并返回其在数组中的相对位置。
INDEX 函数使用MATCH函数返回的位置来从第二个工作表的B列返回相应的值。
将相应的公式填入I2后,你就可以向下拖动公式的填充柄(位于单元格右下角的小方块),以便将公式应用到I列的其他单元格。这样就会根据第一个工作表的A列在第二个工作表中进行搜索,并将找到的B列的值填充到I列中。
扩展
如果你不想在函数没找到结果后,返回#N/A,可以使用IFERROR设置默认值
=IFERROR(VLOOKUP(A3, Sheet20!A:B, 2, FALSE),"无")