如何在Google Sheets中获取股票近6个月最低价格及对应日期
Google Sheets 查询股票近6个月最低价及对应日期的解决方法
直接用以下两种单公式方案就能实现需求:
方案一:用FILTER函数筛选结果
=FILTER(GOOGLEFINANCE("NSE:RELIANCE", "close", EDATE(TODAY(), -6), TODAY()), INDEX(GOOGLEFINANCE("NSE:RELIANCE", "close", EDATE(TODAY(), -6), TODAY()),,2) = MIN(INDEX(GOOGLEFINANCE("NSE:RELIANCE", "close", EDATE(TODAY(), -6), TODAY()),,2)))
- 逻辑说明:
EDATE(TODAY(), -6):自动计算6个月前的日期,替代手动计算DATE的方式,避免不同月份天数差异导致的误差GOOGLEFINANCE(...):返回包含日期列和收盘价列的近6个月完整数据MIN(INDEX(...,,2)):提取收盘价列的最小值FILTER:筛选出收盘价等于最小值的行,同时返回对应的日期和价格
方案二:用QUERY函数精准查询
=QUERY(GOOGLEFINANCE("NSE:RELIANCE", "close", EDATE(TODAY(), -6), TODAY()), "SELECT Col1, Col2 WHERE Col2 = (SELECT MIN(Col2) FROM OFFSET(GOOGLEFINANCE(""NSE:RELIANCE"", ""close"", EDATE(TODAY(), -6), TODAY()),1))")
- 逻辑说明:
- 先用
GOOGLEFINANCE获取目标时间段的数据 - 子查询
SELECT MIN(Col2) FROM ...计算收盘价的最小值 - 主查询筛选出价格等于最小值的日期和价格,结果格式更规整
- 先用
补充优化提示
如果担心重复调用GOOGLEFINANCE影响性能,可以先把近6个月的数据存到一个单元格区域(比如A1:B):
=GOOGLEFINANCE("NSE:RELIANCE", "close", EDATE(TODAY(), -6), TODAY())
再用简化公式查询:
=FILTER(A:B, B:B=MIN(B:B))
内容的提问来源于stack exchange,提问作者Wrathyimp
相关产品推荐
相关产品推荐

