Google Sheets中QUERY语句能否自动筛选最早日期起6个月内的数据?
Google Sheets QUERY 自动筛选最早日期后6个月数据的实现方法
完全可以实现自动识别最早日期并筛选后续6个月数据的需求,不用手动查日期改公式。直接用嵌套函数把最早日期和6个月后的日期动态传入QUERY即可:
=QUERY(RawData!A1:D, "SELECT * WHERE A = 'N502SY' AND C >= date '"&TEXT(MIN(RawData!C:C), "yyyy-MM-dd")&"' AND C <= date '"&TEXT(EDATE(MIN(RawData!C:C), 6), "yyyy-MM-dd")&"' ORDER BY C ASC")
公式拆解:
MIN(RawData!C:C):直接抓取RawData表C列的最早日期TEXT(..., "yyyy-MM-dd"):把日期转换成QUERY函数要求的'yyyy-MM-dd'文本格式,避免QUERY识别出错EDATE(MIN(RawData!C:C), 6):计算最早日期往后推6个月的截止日期- 用
&把这些动态生成的日期值拼接进QUERY的查询字符串里,实现自动更新规则
注意事项:
- 确认RawData表的C列是标准日期格式,如果是文本格式,MIN和EDATE函数会失效,需先把单元格格式改成日期
- 如果RawData的C列有表头,不想让表头参与计算,可以把
RawData!C:C改成RawData!C2:C - 要是需要动态匹配A列的不同值(比如不是固定的N502SY),可以把
'N502SY'改成单元格引用,比如'"&A1&"',这样A1单元格输入什么值,就自动筛选对应的数据
内容的提问来源于stack exchange,提问作者Jaron W.
相关产品推荐
相关产品推荐

