如何在Google Sheets中实现姓名与日期范围的组合Query查询
Google Sheets 姓名+日期范围组合Query查询方案
给你一个直接可用的组合查询公式,你可以根据自己的表格结构调整参数:
假设你的数据在A:D列,姓名列是B列,日期列是C列,查询条件分别放在:
F2:要匹配的姓名G2:起始日期H2:结束日期
使用以下公式:
=QUERY(A:D, "SELECT * WHERE B = '"&F2&"' AND C >= date '"&TEXT(G2, "yyyy-mm-dd")&"' AND C <= date '"&TEXT(H2, "yyyy-mm-dd")&"'", 1)
公式说明:
A:D:替换成你实际的数据列范围B = '"&F2&"':精准匹配F2中的姓名,单引号和连接符&是为了让文本格式符合Query语法要求C >= date '"&TEXT(G2, "yyyy-mm-dd")&"':筛选日期晚于等于起始日期的记录,TEXT函数把单元格日期转成Query能识别的yyyy-mm-dd格式C <= date '"&TEXT(H2, "yyyy-mm-dd")&"':筛选日期早于等于结束日期的记录- 末尾的
1表示你的数据有表头,没有表头就改成0
如果需要支持可选条件(比如有时只想查姓名、有时只想查日期范围),可以用这个更灵活的版本:
=QUERY(A:D, "SELECT * WHERE "&IF(F2="","", "B = '"&F2&"' AND ")&"C >= "&IF(G2="","date '1900-01-01'","date '"&TEXT(G2, "yyyy-mm-dd")&"'")&" AND C <= "&IF(H2="","date '2100-12-31'","date '"&TEXT(H2, "yyyy-mm-dd")&"'"), 1)
这个公式会自动忽略空的条件,比如F2为空时就只按日期范围筛选,G2为空就不限制起始日期。
内容的提问来源于stack exchange,提问作者sorry im noob
相关产品推荐
相关产品推荐

