GoogleFinance公式查找股票的前一个历史交易日

GoogleFinance formula to find previous historical trading day of a stock

我一直在寻找一个可靠的公式来查找一大批历史日期的“前一个交易日”的股价。

我开始的公式:

=googlefinance(A5, "close", B5-1)

其中 A5 表示代码,B5 表示过去的日期。

我得到前几天周末或节假日的#NA 结果。

我需要一个每年 365 天都能可靠工作的公式,无论是星期几还是之前的非交易日数。我试过这样的事情:

=index(googlefinance(A5, "close", (B5-1)-2,2),2,2)

如果 B5 日期是一周的第一个交易日,则该公式有效,但如果它落在周中的任何地方,则该公式无效。

我尝试了几种使用 WORKDAY(B5,-1) 的方法,但我意识到该函数只能计算工作日的数量,不能生成日期。

我需要一个无需逐个单元格编辑和调整的公式。

这是一种方法

  • 当日为交易日时的收盘价
  • 前一交易日非交易日收盘价

    =vlookup(B5+16/24,googlefinance(A5, "close", B5-7, 7),2,true)

工作原理如下:

  • googlefinance(A5, "close", B5-7, 7)获取从7天前的日期开始的7个交易日的数据
  • vlookup若B5为非交易日,则取离B5日期最近的收盘价
  • B5 + 16/24 是将日期与下午 4 点的收盘价日期戳相匹配。