You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets:如何根据单元格值返回对应命名区域名称?

在Google Sheets中查找指定值所在的命名区域名称

可以实现这个需求,下面是可直接使用且支持嵌入其他公式的方案:

核心公式

假设要查找的值位于单元格A1,使用以下公式返回对应的命名区域名称:

=TEXTJOIN(", ", TRUE, FILTER(NAMEDRANGES()[Name], BYROW(NAMEDRANGES()[RefersTo], LAMBDA(r, NOT(ISERROR(XMATCH(A1, INDIRECT(r))))))))

公式拆解

  • NAMEDRANGES():返回当前表格所有命名区域的数据集,包含Name(区域名称)和RefersTo(区域引用地址)两个字段。
  • BYROW(..., LAMBDA(r, NOT(ISERROR(XMATCH(A1, INDIRECT(r)))))):遍历每个命名区域的引用地址,通过INDIRECT解析为实际单元格范围,再用XMATCH检查目标值是否存在,返回布尔值数组标记匹配结果。
  • FILTER(NAMEDRANGES()[Name], ...):筛选出所有包含目标值的命名区域名称。
  • TEXTJOIN(", ", TRUE, ...):若多个区域包含目标值,用逗号分隔返回结果;仅单个匹配时直接返回名称。

嵌入其他公式的用法

如果目标值不是来自固定单元格,而是其他公式的计算结果,直接替换A1为对应公式即可。例如,查找B2+C2计算结果所在的命名区域:

=TEXTJOIN(", ", TRUE, FILTER(NAMEDRANGES()[Name], BYROW(NAMEDRANGES()[RefersTo], LAMBDA(r, NOT(ISERROR(XMATCH(B2+C2, INDIRECT(r))))))))

补充说明

  • 若目标值未在任何命名区域中找到,公式会返回空值,可添加IFERROR处理提示信息:
    =IFERROR(TEXTJOIN(", ", TRUE, FILTER(NAMEDRANGES()[Name], BYROW(NAMEDRANGES()[RefersTo], LAMBDA(r, NOT(ISERROR(XMATCH(A1, INDIRECT(r)))))))), "未找到匹配的命名区域")
    
  • 确保所有命名区域的引用地址格式有效,INDIRECT才能正确解析范围。

内容的提问来源于stack exchange,提问作者user15250594

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 11:02:13