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

Google Sheets技术提问:如何按最新巡检获取唯一设备ID并按状态分数降序排序

解决方案:提取设备最新巡检状态并降序排列

要实现「状态」工作表展示每台设备最新巡检的状态分数并按分数降序排列,核心是先筛选出每个设备最新时间戳对应的记录,再提取所需字段排序。以下是两种可行的Google Sheets公式方案:

方案一:嵌套QUERY分组取最新记录

通过QUERY子查询先获取每个设备的最新时间戳,再匹配对应记录:

=QUERY(
  '巡检'!A:Z,
  "SELECT D, Z 
   WHERE A IN (
     SELECT MAX(A) 
     FROM '巡检'!A:Z 
     GROUP BY D
   ) 
   ORDER BY Z DESC",
  1
)
  • 内层SELECT MAX(A) FROM '巡检'!A:Z GROUP BY D:按设备ID(D列)分组,计算每个设备的最新时间戳
  • 外层查询筛选出时间戳属于上述最新值的行,提取设备ID(D列)和状态分数(Z列),最后按Z列降序排列
  • 参数1表示保留表头行

方案二:SORT+SORTN去重取最新记录

先按时间戳降序排序,再对设备ID去重保留第一条(最新)记录,最后排序:

=QUERY(
  SORTN(
    SORT('巡检'!A:Z, 1, FALSE),
    9^9,
    2,
    4,
    TRUE
  ),
  "SELECT Col4, Col26 ORDER BY Col26 DESC",
  1
)
  • SORT('巡检'!A:Z, 1, FALSE):将巡检表按时间戳(A列,第1列)降序排序,确保每个设备的最新记录排在最前
  • SORTN(..., 9^9, 2, 4, TRUE):用模式2(去重模式),按设备ID(D列,第4列)去重,保留每个设备的第一条记录;9^9表示取足够多的行,TRUE表示按列升序去重(不影响结果,因为已按时间戳降序)
  • 外层QUERY提取设备ID(Col4)和状态分数(Col26,对应Z列),并按分数降序排列

如果表格中存在同一设备同一时间多条巡检记录的情况,方案二更稳妥,因为它直接保留排序后的第一条记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 07:06:32