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

如何在Google Sheets中结合时间戳获取各PO项最新阶段条目

需求:获取各采购订单(PO)最新阶段的行记录列表

采购订单(PO)会经历多个阶段,每个阶段都会生成对应的时间戳,目标是提取每个PO处于最新阶段时的完整行记录。

我尝试使用公式 =MAP(UNIQUE(B1:B17);LAMBDA(id;XLOOKUP(id;B1:B17;A1:H17;;;-1))),但没有得到正确结果。

问题原因

你用的XLOOKUP参数-1是从数据区域的末尾向上查找第一个匹配的PO号,这仅在数据按时间戳从旧到新顺序排列时有效。如果数据排序混乱,这个公式只会取最后出现的PO行,而非时间戳最大的最新阶段记录。

解决方案

方案1:使用QUERY函数(简洁高效)

假设时间戳在A列,PO号在B列,公式如下:

=QUERY(A1:H17,"select * where A in (select max(A) from A1:H17 group by B)",1)

原理:先按PO分组,计算每个PO对应的最大时间戳,再筛选出所有时间戳等于对应最大值的行。

方案2:使用BYROW+MAXIFS+XLOOKUP(灵活适配复杂场景)

=BYROW(UNIQUE(B2:B17),LAMBDA(x,XLOOKUP(MAXIFS(A:A,B:B,x)&x,A:A&B:B,A:H,"",0)))

原理:

  • 提取所有唯一的PO号
  • 对每个PO号,找到其对应的最大时间戳
  • 将时间戳与PO号拼接成唯一标识,避免不同PO出现相同时间戳的冲突
  • 用XLOOKUP匹配该唯一标识,返回对应的整行数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:15:01