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

如何按两列组合筛选数据并保留第三列的最新日期记录?

按组合列筛选并返回最新日期记录的Query方案

需求说明

需要基于**颜色(B列)和类型(C列)的组合匹配,返回每组对应的最新日期(A列)**记录。比如示例中“白色-马”组合仅保留日期为2/1/25的最新条目。

原始Query语句

=Query(Submissions, "select G, D, E, F, C, B where 1=1 and G is not null "&IF(C2="All",""," AND D = ('"&C2&"')")&IF(C3="All",""," AND C = ('"&C3&"')")&IF(1=1," order by G asc",""), -1)

适配需求的修改方案

核心思路

先通过内层Query提取每个颜色-类型组合对应的最新日期,再在外层Query中筛选出匹配这些日期的完整记录,同时保留原Query的筛选条件(C2/C3的“All”筛选)和排序规则。

修改后的Query公式

=QUERY(Submissions, "select G,D,E,F,C,B,A where A matches '"&TEXTJOIN("|",TRUE,QUERY(Submissions, "select max(A) where 1=1 "&IF(C2="All",""," AND B = '"&C2&"'")&IF(C3="All",""," AND C = '"&C3&"'")&" group by B,C",0))&"' "&IF(C2="All",""," AND B = '"&C2&"'")&IF(C3="All",""," AND C = '"&C3&"'")&" order by G asc", -1)

公式解释

  1. 内层Query:根据C2(颜色筛选)、C3(类型筛选)的条件,按颜色(B)和类型(C)分组,提取每组的最大日期(即最新日期)。
  2. TEXTJOIN拼接:将内层Query得到的所有最新日期拼接成正则匹配格式,供外层Query筛选使用。
  3. 外层Query:筛选出日期匹配最新日期的记录,保留你需要的G、D、E、F、C、B列,并按原需求的G列升序排序。

示例效果

输入数据:

日期(A)颜色(B)类型(C)
1/1/25白色马
2/1/25白色马
1/1/25蓝色马
1/2/25蓝色狗

执行公式后返回(核心列展示):

颜色(B)类型(C)日期(A)
白色马2/1/25
蓝色马1/1/25
蓝色狗1/2/25

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:23:20