STOCKHISTORY 函数

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel

STOCKHISTORY 函数检索有关金融工具的历史数据并将其作为数组加载,如果这是公式的最终结果,则会溢出。 这意味着,当按 ENTER 时,Excel 将动态创建相应大小的数组范围。

重要

STOCKHISTORY 函数需要Microsoft 365 个人版、Microsoft 365 家庭版、Microsoft 365 商业标准版或Microsoft 365 商业高级版订阅。

技术细节

语法

=STOCKHISTORY(stock, start_date, [end_date], [interval], [headers], [property0], [property1], [property2], [property3], [property4], [property5])

STOCKHISTORY 函数语法具有以下参数:

参数 说明
stock 函数将返回与此值对应的有关金融工具的历史价格数据。 在双引号中输入股票代码(例如“MSFT”)或对包含“股票”数据类型的单元格的引用。 这样将从工具的默认交易所中提取数据。 你也可以通过输入 4 个字符的 ISO 市场识别码 (MIC)、后接冒号及股票代码(例如“XNAS:MSFT”)来指向特定交易所。 了解有关数据源的详细信息。
start_date 检索数据的最早日期。 请注意,如果 interval 不为 0(每天),则第一个数据点可能早于所提供的 tart_date - 它将是请求期间的第一个日期。
end_date 可选。 将检索其数据的最晚日期。 默认值为 start_date。
interval 可选。 指定每个数据值所表示的间隔,如下所示:
0 = 每日,
1 = 每周,
2 = 每月一次。
默认值为 0。
headers 可选。 指定是否显示标题,如下所示:
0 = 无标头,
1 = 显示标头,
2 = 显示仪器标识符和标头。
默认值为 1(即显示标题)。 如果包含标题,则标题是从该函数返回的数组中的文本行。
property0 - property5 可选。 为每种股票检索的列如下:
0 = Date,
1 = Close,
2 = 打开,
3 = 高,
4 = 低,
5 = 卷。
如果存在以上任何列,则仅按提供的顺序返回指示的列。 默认值为 0,1(即“日期”和“收盘价”)。

备注

  • STOCKHISTORY 函数不会在溢出的单元格上标记格式。 如果删除公式,则其填充的单元格将具有“常规”格式。

  • 输入属性参数时,可以按要查看的顺序为每个属性 0 到 5 键入一个数字。 为每个属性输入的值与属性编号相对应。 例如,要包括“日期”、“开盘价”和“收盘价”,请输入 0,2,1。 这些属性定义如下:

    属性 定义
    0 日期 如果间隔为每日或每周,则为该期间的第一个有效交易日。
    如果间隔为每月,则为该月的第一天,而不考虑它是交易日。
    1 收盘价 期间内最后一个交易日的收盘价
    2 打开 期间内第一个交易日的开盘价
    3 最高价 该期间最高单日最高价
    4 最低价 该期间最低单日最低价
    5 成交量 期间内交易的股票数量
  • STOCKHISTORY 函数属于查找与引用​​系列的函数。
  • 日期参数可以是用双引号引起来的日期(例如“01-01-2020”)或公式(例如 TODAY())或对包含日期的单元格的单元格引用。
  • 返回的日期可能早于提供的日期。 例如,如果提供 2019 年 12 月 31 日作为开始日期,并且间隔是每月,则将返回2019 年 12 月 1 日,因为这是请求期间的开始日期。
  • 请注意,虽然某些金融工具可能作为股票数据类型提供,但历史信息将不可用。 例如,包括 S&P 500 在内的大多数热门指数基金都是这种情况。

提示

  • 如果要获得 3 个月期间的最高值,则使用每月间隔比使用每日或每周间隔更快。 例如,对于每个月的最高交易值,=MAX(STOCKHISTORY("XNAS:MSFT", "1/1/2022", "3/1/2022", 2, 0, 3)) 将计算 3 个数据点的最大值(每个月一个数据点,仅不带标头的数据)。 如果公式改用每周或每日间隔,则会获得相同的结果,但计算中会使用更多数据点,从而降低性能。
  • 如果想要查看 52 周最高价或最低价,通常可以更快地使用具有这些属性的股票数据类型。 例如,将“xnas:msft”转换为单元格 A1 中的常用数据类型,在单元格 B1 中可以编写公式 =A1.[52 week high] 来获取该值。 还可以将工作簿配置为自动刷新此值,如下所述。
  • 在显示历史数据的 STOCKHISTORY 中,通常仅在交易日完成后更新。 这意味着,在市场关闭或当天结束后(具体取决于市场)之前,不能使用 STOCKHISTORY 获取当前交易详细信息的数据。
  • 如果将 STOCKHISTORY 与自动更新(如 TODAY)的函数一起使用,并且工作簿已启用自动计算,则当打开工作簿时,STOCKHISTORY 将自动刷新数据。 此更新将在后台进行,你可以在进行此更新时根据需要编辑工作簿。 如果工作簿使用大量 STOCKHISTORY 函数调用,则此后台更新将持续进行,直到所有数据更新完毕。 在此过程中,你可以根据需要随时关闭工作簿。