Google Sheet公式需求:查找列表项在另一表中的首个匹配行
Google Sheets 匹配首个符合条件的对应值解决方案
正确公式
方法1:INDEX+MATCH组合
=INDEX(Sheet2!A:A, MATCH(TRUE, ISNUMBER(MATCH(Sheet2!G:G, Sheet1!A2:A, 0)), 0))
方法2:XLOOKUP简化写法
=XLOOKUP(TRUE, ISNUMBER(MATCH(Sheet2!G:G, Sheet1!A2:A, 0)), Sheet2!A:A)
原公式问题分析
你之前的公式逻辑有误:('Sheet2'!G:G = Sheet1!$A$2:$A) 会生成一个二维数组,而MATCH需要一维布尔数组来定位首个匹配行,导致无法正确识别符合条件的记录。
公式说明
- 内层
MATCH(Sheet2!G:G, Sheet1!A2:A, 0)判断Sheet2的G列每个值是否存在于Sheet1的A2:A列表中,返回匹配位置或错误值 ISNUMBER()将结果转为布尔值(存在则为TRUE,不存在则为FALSE)- 外层MATCH/XLOOKUP找到第一个TRUE的位置,返回对应Sheet2的A列内容
内容的提问来源于stack exchange,提问作者Yvan L
相关产品推荐
相关产品推荐

