Google Sheets公式需求:根据ID查找最右侧非空分数
Google Sheets 查找指定ID最右侧非空分数的公式
假设你的数据范围是A:E(ID在A列,Score A/B/C在B到D列),指定要查找的ID放在单元格G2,以下是两个可行的公式方案:
方案1:用XLOOKUP + BYROW + LAMBDA(适配新版Google Sheets)
=XLOOKUP(G2,A:A,BYROW(B2:D6,LAMBDA(row,XLOOKUP(TRUE,row<>"",row,,0,-1))),"无匹配ID或无有效分数")
公式说明:
XLOOKUP(G2,A:A,...):定位目标ID对应的行BYROW(B2:D6,LAMBDA(row,...)):遍历每一行的Score A/B/C列数据XLOOKUP(TRUE,row<>"",row,,0,-1):从右往左搜索当前行的Score列,返回第一个非空值(-1参数表示反向搜索)
方案2:用INDEX + MATCH + LOOKUP(兼容所有版本)
=IFERROR(LOOKUP(2,1/(INDEX(B:D,MATCH(G2,A:A,0),)<>""),INDEX(B:D,MATCH(G2,A:A,0),)),"无匹配ID或无有效分数")
公式说明:
MATCH(G2,A:A,0):获取目标ID对应的行号INDEX(B:D,行号,):提取该行所有Score列的数值LOOKUP(2,1/(数据<>""),数据):利用LOOKUP特性,找到最后一个非空的分数值(非空值对应1,LOOKUP会匹配最后一个小于等于2的1的位置)
测试验证
针对你提供的测试数据:
- 查找ID
2343,返回98(最右侧的Score C值) - 查找ID
2342,返回43(Score B值) - 查找ID
6666,返回23(Score A值) - 查找ID
8797,返回提示文本无匹配ID或无有效分数
内容的提问来源于stack exchange,提问作者fini-stair
相关产品推荐
相关产品推荐

