如何用Google Spreadsheet Query获取最新日期对应的价格数据?
Google Sheets QUERY 获取最新日期对应数据的解决方法
场景1:单列日期+价格,取最新日期的所有行
如果你的数据是日期列(比如A列)和价格列(比如B列),直接用嵌套QUERY先获取最大日期,再匹配对应行:
=QUERY(A:B, "SELECT A, B WHERE A = '"&TEXT(MAX(A:A),"yyyy-mm-dd")&"'", 1)
- 说明:
MAX(A:A)提取最新日期,TEXT(...)把日期转成QUERY能识别的字符串格式(需和单元格日期格式一致),再作为筛选条件查询。
如果不需要复杂SQL逻辑,用FILTER更简洁:
=FILTER(A:B, A:A=MAX(A:A))
场景2:多维度数据(按商品分组取最新价格)
如果数据包含日期、商品名、价格(比如A=日期,B=商品,C=价格),要每个商品取最新日期对应的价格,用以下QUERY公式:
=QUERY(A:C, "SELECT B, C WHERE A IN (SELECT MAX(A) FROM A:C GROUP BY B)", 1)
- 说明:子查询
SELECT MAX(A) FROM A:C GROUP BY B先算出每个商品的最新日期,主查询再匹配这些日期对应的商品和价格。
注意事项
- 确保日期列是日期格式(不是文本),否则
MAX函数无法正确识别。 - 如果日期格式不是
yyyy-mm-dd,调整TEXT函数里的格式参数(比如"mm/dd/yyyy"),和单元格日期格式保持一致。
内容的提问来源于stack exchange,提问作者Salmon Nona
相关产品推荐
相关产品推荐

