如何使用QUERY函数按最新时间戳汇总数据值?
解决Google Sheets公式无法获取预期唯一值的问题
原公式问题分析
你用的公式=UNIQUE(query(J2:L,"select J, K, MAX(L) where K matches 'Pending' or K matches 'Finished' group by J, K, L"))之所以达不到预期,核心问题在GROUP BY J, K, L:把日期列L也加入分组后,每一行不同的日期都会被单独分组,MAX(L)根本发挥不了筛选最大日期的作用,后续的UNIQUE也无法去重,因为分组已经把所有差异行都保留了。
修正后的公式
如果你的需求是每个任务(J列)对应每种状态(K列的Pending/Finished),只保留最新的日期(L列最大值),直接用下面的公式即可,无需嵌套UNIQUE:
=QUERY(J2:L,"select J, K, MAX(L) where K matches 'Pending|Finished' group by J, K",1)
公式说明
- 条件简化:用
K matches 'Pending|Finished'替代原有的两个or条件,写法更简洁 - 分组逻辑:仅按
J(任务)、K(状态)分组,确保同一任务+同一状态的行被合并 - 取最大值:
MAX(L)自动提取该分组下的最新日期 - 表头处理:末尾的
,1表示数据包含表头,公式会自动保留表头行
内容的提问来源于stack exchange,提问作者onit
相关产品推荐
相关产品推荐

