Google Sheet:基于指定列单元格值返回最后匹配值的需求
解决Google Sheets中匹配返回最后一个对应值的问题
要在Sheet0的C列返回Sheet2中A列匹配指定代码的E列最后一个值,VLOOKUP因默认返回首个匹配项无法满足需求,你可以用以下两种方法实现:
方法1:使用XLOOKUP函数(推荐,简洁直观)
在Sheet0的C2单元格输入以下公式,然后下拉填充到目标行:=XLOOKUP(A2, Sheet2!A:A, Sheet2!E:E, "", 0, -1)
参数说明:
A2:Sheet0中当前行的匹配代码(请根据实际单元格位置调整)Sheet2!A:A:Sheet2中存放待匹配代码的列Sheet2!E:E:Sheet2中需要提取结果的列"":无匹配结果时返回空值,可自定义返回内容0:启用精确匹配模式-1:指定从数据区域末尾向上搜索,确保返回最后一个符合条件的匹配值
方法2:使用INDEX+MAX+IF数组公式
若无法使用XLOOKUP,可通过数组公式实现:=INDEX(Sheet2!E:E, MAX(IF(Sheet2!A:A=A2, ROW(Sheet2!A:A), 0)))
在Google Sheets中输入后直接回车即可,下拉填充到其他行。
原理说明:
IF(Sheet2!A:A=A2, ROW(Sheet2!A:A), 0):遍历Sheet2的A列,匹配成功则返回对应行号,否则返回0MAX(...):提取所有匹配行号中的最大值,即最后一个匹配项的行号INDEX(Sheet2!E:E, ...):根据行号提取Sheet2 E列对应的值
内容的提问来源于stack exchange,提问作者swayingtrees
相关产品推荐
相关产品推荐

