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

Google Sheets中Offset公式/动态范围设置:追踪每人最近5条记录

Google Sheets 实现每人最近5条记录的动态范围追踪

方法一:OFFSET 公式实现

假设数据结构为:A列存储姓名,B列及后续列存储记录内容,每行对应一条个人记录,每月会为目标人员新增一行数据。

针对特定人员(例如「张三」),使用以下公式可自动追踪其最近5条记录:

=OFFSET(INDIRECT("A"&MATCH("张三",A:A,0)),MAX(0,COUNTIF(A:A,"张三")-5),0,MIN(5,COUNTIF(A:A,"张三")),COLUMNS(A:Z))

公式各部分解析:

  • MATCH("张三",A:A,0):定位该人员第一条记录的行号
  • COUNTIF(A:A,"张三"):统计该人员的总记录条数
  • MAX(0,COUNTIF(...) -5):计算向上偏移的行数(若记录不足5条,偏移量为0,直接取所有记录)
  • MIN(5,COUNTIF(...)):确定要提取的行数(最多取5条,不足则取实际条数)
  • COLUMNS(A:Z):指定要包含的列数,可根据实际数据范围调整(例如COLUMNS(A:D))

方法二:QUERY 公式实现(更简洁)

使用QUERY函数可直观筛选最近5条记录,还能灵活调整排序:

=QUERY(A:Z,"SELECT * WHERE A='张三' ORDER BY ROW(A) DESC LIMIT 5")

上述公式按倒序返回最近5条记录。若需按录入顺序(正序)展示,可嵌套排序:

=QUERY(QUERY(A:Z,"SELECT * WHERE A='张三' ORDER BY ROW(A) DESC LIMIT 5"),"SELECT * ORDER BY ROW(A) ASC")

进阶:创建动态命名范围

若需重复引用某人员的最近5条记录,可创建命名范围简化操作:

  1. 点击顶部菜单栏「数据」→「命名范围」
  2. 输入名称(例如「张三最近5条记录」)
  3. 在「范围」输入框粘贴对应公式,替换姓名为目标人员
  4. 确认后,在表格中直接输入=张三最近5条记录即可引用该动态范围

无论使用哪种方法,每月新增行后,公式都会自动重新计算,无需手动调整范围即可追踪最新的5条记录。

内容的提问来源于stack exchange,提问作者ataprodi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 05:32:10