Google Sheets导入年度高低价数据错误问题排查求助
Google Sheets GOOGLEFINANCE 年度高低价错误问题排查与解决
问题根源
你的公式存在两个核心问题:
- 日期范围错误:你使用
DATE(YEAR(TODAY())-N, MONTH(TODAY()), DAY(TODAY()))作为起始日期,这会导致查询范围是「N年前的今日到当前日期」,而非目标自然年度的全年(1月1日至12月31日)。比如若当前是2024年5月20日,查询2017年数据时,实际范围是2017年5月20日至2024年5月20日,取的是这个跨多年时段的最低价,而非2017全年的最低价。 - 未锁定自然年度区间:你需要明确限定目标年度的完整日历区间,才能获取对应年度的真实高低价数据。
修正后的公式
获取指定自然年度的最低价
以2017年为例,公式应为:
=MIN(INDEX(GOOGLEFINANCE("AAPL","low",DATE(2017,1,1),DATE(2017,12,31)),0,2))
动态获取过去第N年的最低价(比如过去第2年,即2022年)
=MIN(INDEX(GOOGLEFINANCE("AAPL","low",DATE(YEAR(TODAY())-N,1,1),DATE(YEAR(TODAY())-N,12,31)),0,2))
获取指定年度最高价
将上述公式中的"low"改为"high",MIN改为MAX即可:
=MAX(INDEX(GOOGLEFINANCE("AAPL","high",DATE(2017,1,1),DATE(2017,12,31)),0,2))
额外说明
- GOOGLEFINANCE返回的默认是拆股调整后的数据,若需要原始未调整数据,可在参数中补充
"noadjust"(不过调整后的数据通常是通用的年度参考价)。 - 验证数据时,可单独提取某年度的每日数据(直接用
GOOGLEFINANCE("AAPL","low",DATE(2017,1,1),DATE(2017,12,31))),手动核对极值,确认结果准确性。
内容的提问来源于stack exchange,提问作者lance
相关产品推荐
相关产品推荐

