谷歌表格:输入字符串后自动填充匹配对应值的实现方法
解决方案
在「Spec」工作表的B2单元格输入以下公式,下拉填充即可实现需求:
=LET( search_val, A2, all_range, All!$A:$Z, match_rows, FILTER(ROW(all_range), all_range=search_val), match_cols, FILTER(COLUMN(all_range), all_range=search_val), IF(ROWS(match_rows)=0, "", IFERROR(INDEX(all_range, match_rows, match_cols+1), INDEX(all_range, match_rows, match_cols-1)) ) )
公式说明
LET:通过定义变量简化公式结构,避免重复计算search_val:引用当前行A列的目标字符串all_range:指定「All」工作表的查找范围(这里用A-Z列,可根据实际数据范围缩小,比如All!$A:$D来提升计算效率)match_rows/match_cols:筛选出「All」表中与目标字符串完全匹配的单元格的行号和列号- 逻辑判断:
- 若未找到匹配项,返回空值
- 优先尝试匹配单元格右侧的相邻值,若右侧无有效内容(如列超出范围),则返回左侧的相邻值
适配你的示例场景
- 当A2输入「Pride Lands - Pride Rock」时,公式会定位到「All」表A8的匹配单元格,直接返回右侧B8的「-」
- 当A7输入对应字符串时,若匹配单元格在「All」表的B列,公式会先尝试取右侧C列的值(若无效),转而返回左侧A列的「2」
内容的提问来源于stack exchange,提问作者CharleyRobs
相关产品推荐
相关产品推荐

