如何用INDIRECT函数从Google Sheet动态指定标签提取H列最后值?
解决Google Sheets动态提取指定工作表最后非空值的问题
最终公式(基于你的原有逻辑修改)
在main-tab的B1单元格输入以下公式:
=FILTER(INDIRECT("'"&A1&"'!H2:H"), ROW(INDIRECT("'"&A1&"'!H2:H")) = MAX(FILTER(ArrayFormula(ROW(INDIRECT("'"&A1&"'!H2:H"))), NOT(ISBLANK(INDIRECT("'"&A1&"'!H2:H")))))
关键修改说明
你只需要把原公式中所有固定的'tab-name'!H2:H替换为INDIRECT("'"&A1&"'!H2:H")即可,核心逻辑是:
A1是你输入目标工作表名称的单元格"'"&A1&"'!H2:H"会自动拼接成类似'目标表名'!H2:H的文本格式,其中的单引号是为了兼容带空格、特殊字符的工作表名称INDIRECT()函数会把这个文本字符串转换成真实的单元格引用,实现动态定位到A1指定的工作表
更简洁的替代公式
如果目标工作表的H列数据从H2开始且无需考虑中间空行的干扰,也可以用更紧凑的写法:
=INDEX(INDIRECT("'"&A1&"'!H:H"), MAX(IF(NOT(ISBLANK(INDIRECT("'"&A1&"'!H:H"))), ROW(INDIRECT("'"&A1&"'!H:H")), 0)))
它直接通过MAX(IF(...))定位H列最后一个非空单元格的行号,再用INDEX()提取对应值,效果和原公式一致。
注意事项
- 保留单引号可以兼容所有类型的工作表名称(含空格、特殊字符),建议不要省略
- 公式支持文本、数字等任意数据类型,无需额外适配
内容的提问来源于stack exchange,提问作者Vasilii Emashov
相关产品推荐
相关产品推荐

