谷歌表格公式中如何实现动态行参数设置?
动态指定行号查找谷歌表格指定行最后一个非空值的解决方案
核心解决方法:用INDIRECT解析动态行引用
直接用单元格替换行号无法被表格识别为有效行范围,你需要借助INDIRECT函数将单元格中的行号转换成可识别的单元格引用。
假设你在单元格C1中输入目标行号(比如11),使用以下公式即可实现动态切换:
=LOOKUP(1, ARRAYFORMULA(1/(INDIRECT("Sheet1!"&C1&":"&C1)<>"")), INDIRECT("Sheet1!"&C1&":"&C1))
公式说明
INDIRECT("Sheet1!"&C1&":"&C1):把C1里的行号拼接成类似Sheet1!11:11的文本字符串,再由INDIRECT转换为表格能读取的实际行范围。- 剩余部分逻辑和原公式一致:通过
ARRAYFORMULA(1/(范围<>""))生成非空单元格对应1、空单元格对应错误值的数组,再用LOOKUP(1, ...)定位最后一个非空值。
替代简化写法(用INDEX定位行)
如果不想用文本拼接,也可以用INDEX配合固定行范围来实现:
=LOOKUP(1, ARRAYFORMULA(1/(INDEX(Sheet1!$1:$1000, C1, 0)<>"")), INDEX(Sheet1!$1:$1000, C1, 0))
这里Sheet1!$1:$1000是你数据覆盖的最大行范围,可根据实际情况调整,INDEX(Sheet1!$1:$1000, C1, 0)会直接返回第C1行的整行数据。
内容的提问来源于stack exchange,提问作者Donald Darma
相关产品推荐
相关产品推荐

