You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 11:39:06