如何获取指定区域内每隔n行的行的最后一个值?
获取每隔N行的最后一个目标值
基于你现有公式的解决方案
你已经能用FILTER(QUERY(E7:E,"Select * skipping 3"))筛选出目标行,要取这些行的最后一个非空值,可以用以下两种方法:
方法1:兼容多数表格工具(INDEX + COUNTA)
=LET( filtered_data, FILTER(QUERY(E7:E,"Select * skipping 3"), NOT(ISBLANK(QUERY(E7:E,"Select * skipping 3")))), INDEX(filtered_data, COUNTA(filtered_data)) )
LET将筛选结果存入变量,避免重复计算;FILTER + NOT(ISBLANK)剔除筛选结果里的空值;INDEX配合COUNTA定位到最后一个非空元素。
方法2:新版工具简化写法(TAKE)
如果用的是新版Google Sheets或Excel 365,直接用TAKE提取最后一行:
=TAKE(FILTER(QUERY(E7:E,"Select * skipping 3"), NOT(ISBLANK(QUERY(E7:E,"Select * skipping 3")))), -1)
TAKE(数组, -1)直接返回数组的最后一个元素。
补充:修正筛选逻辑(若原QUERY不符合预期)
如果QUERY(E7:E,"Select * skipping 3")没有精准筛选“每隔3行”的行(skipping实际是跳过前N行而非按间隔取值),可以改用MOD函数精准定位:
- 筛选从E7开始每3行取一行(E7、E10、E13...):
=TAKE(FILTER(E7:E93, MOD(ROW(E7:E93)-ROW(E7), 3)=0), -1) - 筛选每3行组的最后一行(E9、E12...E93):
=TAKE(FILTER(E7:E93, MOD(ROW(E7:E93)-ROW(E7)+1, 3)=0), -1)
内容的提问来源于stack exchange,提问作者user2968674
相关产品推荐
相关产品推荐

