首页 > 解决方案 > 谷歌表格 - 为列中的每个项目调用查询()

问题描述

我在 Google 表格中有一个带有“Ticker”列的表格。

| Ticker |
| ------ |
| APPL   |
| AMZN   |
| GOOG   |

我想GOOGLEFINANCE()用来返回每个代码的代码、日期和历史股票价格,如下所示:

| Ticker | Date     | Closing Price |
| ------ | ----     | ------------- |
| APPL   | 1/1/2019 | $100          |
| APPL   | 1/2/2019 | $101          |
| APPL   | 1/3/2019 | $102          |
| AMZN   | 1/1/2019 | $150          |
| AMZN   | 1/2/2019 | $151          |
| AMZN   | 1/3/2019 | $152          |
| GOOG   | 1/1/2019 | $200          |
| GOOG   | 1/2/2019 | $201          |
| GOOG   | 1/3/2019 | $202          |

当我运行时,=query(googlefinance(A2:A, "close", 1/1/2019, 1/3/2019, 1), "select '"&A2&"', Col1, Col2", 0)我得到以下信息:

| Ticker  | Date     | Closing Price |
| ------  | -------- | ------------- |
| "APPL()"|          |               |
| APPL    |          |               |
| APPL    | 1/1/2019 | $100          |
| APPL    | 1/2/2019 | $101          |
| APPL    | 1/3/2019 | $102          |

如何遍历代码并将结果附加到一个表中?

标签: google-sheetsgoogle-sheets-formulaspreadsheet

解决方案


GOOGLEFINANCE已经返回了一个值数组,并且只会为单个代码输入返回它们,因此,您不能将代码设置为一个范围。因此,您将需要手动GOOGLEFINANCE一一手动设置您的功能。

或者,您可以创建一个Apps Script 脚本来向金融网站发出金融请求并返回其结果。这样,您可以以编程方式迭代您的代码范围,并根据需要使用getValues()setValues()订购信息。


推荐阅读