google-sheets - 在 google 表格中,如何使用 googlefinance 获取某个日期范围内股票的高价?

标签 google-sheets google-finance stockquotes

我写了下面的公式,它只返回开始日期的高点,而不是整个日期范围的高点:=INDEX(GoogleFinance(C7,"high", A7,B7,"DAILY"),2,2)

其中 C7 是包含股票代码的谷歌表格单元格,A7 包含开始日期,B7 包含结束日期。

最佳答案

公式:=MAX(INDEX(GOOGLEFINANCE(C7, "high", A7, B7), , 2))…将返回示例中 A7 和 B7 日期之间的股票高价。1
它是如何工作的?
使用公式:=GOOGLEFINANCE(<symbol>, "high", <StartDate>, <EndDate>)或者=GOOGLEFINANCE(C7, "high", A7, B7) (在你的例子中),
...将返回 阵列 看起来像这样:

使用 INDEX()函数,您可以将该数组转换为高值的单列:=INDEX(GOOGLEFINANCE(C7, "high", A7, B7), , 2)
现在您可以将该数组传递到 MAX()获取单个单元格中最高值的函数:=MAX(INDEX(GOOGLEFINANCE(C7, "high", A7, B7), , 2))
1 重要提示:
如果您在 GOOGLEFINANCE 的“高”函数中包含日期范围,它将 不是 在当前交易日包括今天的价格——所以如果你需要在你的范围内包括今天的高价,你需要明确地将今天的高价与历史数据进行比较。
例如,函数 =GOOGLEFINANCE(symbol, "high")给你今天的高价,所以:=MAX(GOOGLEFINANCE(C7, "high"), MAX(INDEX(GOOGLEFINANCE(C7, "high", TODAY()-30, TODAY()), , 2)))......会为您提供过去 30 天的高价,包括今天。
如果您的日期范围可能包括 仅限今天 (即今天没有 A7 和 B7 都相等的历史数据),不幸的是,上面的公式将返回 #NA。即使它不包含历史数据,我也有生成正确数组的最终解决方案。
防弹解决方案
无论指定什么日期范围,下面的公式都会捕获 #NA 条件并构建数组以包含今天的高点:=MAX(INDEX({IFNA(GOOGLEFINANCE(E7, "high", A7, TODAY()), {"Date", "High"}); NOW(), GOOGLEFINANCE(E7, "high")}, , 2))我被这个怪癖咬了几次,这个解决方案似乎涵盖了所有场景。享受!

关于google-sheets - 在 google 表格中,如何使用 googlefinance 获取某个日期范围内股票的高价?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50421851/

相关文章:

在 Google Apps 脚本中调试自定义函数

javascript - 查找包含特定字符串的单元格的位置

google-apps-script - 是否可以将问题和多项选择选项从 Google 表单导出到 Google 表格?

python - 为什么我在调用 Google Sheets API 时收到 "Unknown Name..."名称错误?

google-sheets - 从 GoogleFinance 获取特定日期的汇率

JavaScript Canvas : draw moving average line with curves

Python 高效的网页抓取?

google-sheets - 让东京股票价格数据出现在 Google 电子表格中

MongoDB:股票报价数据库的模式设计

java - 从雅虎财经获取 ISIN 的历史价格