如何在Google Sheets中获取某列的最后n条记录
在Google Sheets中提取某列最后n条记录的实用公式
没问题!既然你已经会取单列的最后一条记录,那拓展到最后n条(比如你要的5条)其实很简单,这里给你几个常用的方案,根据你的使用习惯选就行:
方案1:用INDEX + COUNTA(最直观,适合基础场景)
如果你的数据是连续无空白的,或者你只想统计非空单元格的最后5条,可以用这个组合:
=INDEX(A:A, COUNTA(A:A)-4):INDEX(A:A, COUNTA(A:A))
解释:
COUNTA(A:A)会统计A列所有非空单元格的总数- 减去4(因为5-1=4)就能定位到最后5条的起始行,再用INDEX取到最后一行的范围,就得到了最后5条记录
- 如果要换成其他n值,把
-4改成-(n-1)就行,比如取最后3条就是COUNTA(A:A)-2
如果你的列里有表头,记得把范围改成A2:A(跳过表头),比如:
=INDEX(A2:A, COUNTA(A2:A)-4):INDEX(A2:A, COUNTA(A2:A))
方案2:用QUERY函数(适合习惯结构化查询的用户)
QUERY函数可以通过OFFSET参数跳过前面的行,直接取最后n条:
=QUERY(A:A, "SELECT * OFFSET "&(COUNTA(A:A)-5)&" ", 0)
解释:
OFFSET "&(COUNTA(A:A)-5)&"表示跳过前面(总非空数-5)行,剩下的就是最后5条- 末尾的
0表示你的数据没有表头,如果有表头就改成1,QUERY会自动识别表头
方案3:动态数组公式(新版Sheets专属,最简洁)
如果你的Google Sheets是新版支持动态数组的,用TAKE+SORT的组合超级省事:
=TAKE(SORT(A:A, ROW(A:A), FALSE), 5)
解释:
SORT(A:A, ROW(A:A), FALSE)把A列按行号倒序排列(最后一行排最前面)TAKE(..., 5)取倒序后的前5条,也就是原列的最后5条- 这个公式是动态的,只要你在A列新增数据,结果会自动更新,不用手动调整
特殊场景补充:如果列中有空白单元格
如果你的A列中间有空白,但你只想取最后5个非空记录,可以先过滤掉空值再处理:
=TAKE(SORT(FILTER(A:A, A:A<>""), ROW(FILTER(A:A, A:A<>"")) , FALSE),5)
这个公式会先把A列的空值过滤掉,再倒序取前5条,完美适配有零散空白的情况。
内容的提问来源于stack exchange,提问作者Alan Southall
相关产品推荐
相关产品推荐

