已实现Google Sheets跳行取数求最大值,如何修改公式取最后值?
Google Sheets 获取间隔行的最后数值
基于你现有公式的修改方案
你可以通过INDEX配合COUNTA来提取QUERY结果的最后一行,公式如下:
=INDEX(QUERY(A1:A,"Select * skipping 2"), COUNTA(QUERY(A1:A,"Select * skipping 2")))
QUERY(A1:A,"Select * skipping 2")保持你原有的逻辑,提取目标间隔行数据COUNTA(...)统计提取结果的有效行数,定位到最后一行的位置INDEX函数根据位置取出最后一行的数值,示例中会返回700
更高效的简化方案(避免重复执行QUERY)
如果想优化公式性能,减少重复计算,可以用FILTER先筛选出有效数值行,再取最后一个:
=INDEX(FILTER(A:A, ISNUMBER(A:A), MOD(ROW(A:A)-1, 2)=0), COUNTA(FILTER(A:A, ISNUMBER(A:A), MOD(ROW(A:A)-1, 2)=0)))
这里MOD(ROW(A:A)-1, 2)=0用来匹配行1、3、5、7这类间隔行,ISNUMBER(A:A)确保只保留数值数据,避免文本干扰。
更简洁的LOOKUP方案
用LOOKUP可以一步到位获取最后一个符合条件的数值:
=LOOKUP(9^9, FILTER(A:A, ISNUMBER(A:A), MOD(ROW(A:A)-1, 2)=0))
9^9是一个极大值,LOOKUP会在筛选后的数值列表中找到最后一个小于等于它的数值,也就是列表的最后一项。
内容的提问来源于stack exchange,提问作者user2968674
相关产品推荐
相关产品推荐

