Google Sheets:用QUERY函数获取成交量最大值及对应日期与最高价
解决方案
优化版(减少重复调用)
先把股票数据存入隐藏单元格,再引用计算更高效:
- 在任意空白单元格(比如A1)输入基础数据公式,之后隐藏该单元格或整列:
=GOOGLEFINANCE("AAPL", "all", DATE(2022,6,21), DATE(2022,6,29))
- 在目标单元格输入以下公式,即可在单个单元格输出成交量最大值、对应日期和最高价:
=JOIN(" | ", QUERY(A1, "select text(Col1, 'yyyy-mm-dd'), Col3, Col6 where Col6 = (select max(Col6) from A1) label text(Col1, 'yyyy-mm-dd')'', Col3'', Col6''"))
单公式直接实现
如果不需要考虑重复调用的性能问题,也可以用嵌套公式一步完成:
=JOIN(" | ", QUERY(GOOGLEFINANCE("AAPL", "all", DATE(2022,6,21), DATE(2022,6,29)), "select text(Col1, 'yyyy-mm-dd'), Col3, Col6 where Col6 = (select max(Col6) from " & GOOGLEFINANCE("AAPL", "all", DATE(2022,6,21), DATE(2022,6,29)) & ") label text(Col1, 'yyyy-mm-dd')'', Col3'', Col6''"))
关键逻辑说明
QUERY函数:筛选出成交量(Col6)等于最大值的行,同时提取日期(Col1)、最高价(Col3)、成交量(Col6)text(Col1, 'yyyy-mm-dd'):将日期格式化为易读的年-月-日形式,可根据需求修改格式串(比如'mm/dd/yyyy')JOIN(" | ", ...):把三列数据用|分隔合并到单个单元格,分隔符可自行替换(比如中文逗号",")label ... '':移除QUERY默认生成的表头,让输出更简洁
内容的提问来源于stack exchange,提问作者PhilNos
相关产品推荐
相关产品推荐

