我的查询是在印度的股票市场,在那里我从我的google单子中的=googlefinance函数中获取报价。我非常失望地知道,函数没有显示上一次收盘价。相反,它显示了最后的交易价格。
让我们举一个股票依赖的例子:=GoogleFinance("NSE:reliance", "price")结果是2498.00,这是不正确的。2022年9月16日星期五的实际收盘价为2499.20,按印度国家证券交易所的官方数据计算。你可以请参阅此链接的收盘价和下面的截图
不正确的报价2498.00是市场收盘前的最后一个交易价格。当市场关闭时,正确的报价是2499.20。
这种行为在印度股市的所有股票中都很常见。我使用了=googlefinance函数中几乎所有可用的参数,但是我找不到一种方法来获得正确的股票报价。
然后,我决定使用以下方法从官方网站中获取价值,但没有成功。
<div id="closePrice">2,499.20</div>
//*[@id="closePrice"]
/html/body/div[2]/div[4]/div[2]/div[1]/div[4]/ul/li[6]/div[1]
document.querySelector("#closePrice")
我在这个网站上搜索了很多有价值的文章,也在谷歌上找到了很多有价值的文章,但是我找不到一个解决方案来获取想要的结果。有人能帮助我获得2499.20的结果,作为依赖股票,要么使用=googlefinance功能,或通过从办公室网站的价值?
谢谢。

@TheMaster推荐的解决方案(非常感谢!)
=LAMBDA(gf,INDEX(gf,ROWS(gf),2))(GOOGLEFINANCE("NSE:RELIANCE", "close",TODAY()-5,15))
其他两种方式--
=index(GOOGLEFINANCE("NSE:reliance","Close",today()-5,15),4,2)
=query(GOOGLEFINANCE("NSE:reliance","Close",today()-5,15),"select Col2 where Col1 < date '"&TEXT(today()+1, "YYYY-MM-DD")&"' order by Col1 desc limit 1",False)
我还很想知道哪种方法(如果有的话)可以在没有崩溃或任何其他处理问题的情况下更快地获得结果,因为我的googlesheet装载了数千个股票报价,每1分钟就会刷新一次。
发布于 2022-09-18 11:50:24
只有历史价格支持close属性。使用start date参数获取历史价格并获得最后一个close
=LAMBDA(gf,INDEX(gf,ROWS(gf),2))(GOOGLEFINANCE("NSE:RELIANCE", "close",TODAY()-5,15))发布于 2022-09-21 12:37:48
这是实现这一结果的另一种方式。
=query(GOOGLEFINANCE("NSE:reliance","Close",today()-5,15),"select Col2 where Col1 < date '"&TEXT(today()+1, "YYYY-MM-DD")&"' order by Col1 desc limit 1",False)当我比较解决方案=LAMBDA和=QUERY在2500+股票上的性能时,我发现查询比lambda更快。
干杯!
然而,我的主要问题仍未解决,因为谷歌财务的公式没有给出今天的截止日期,直到真正的一天结束。
https://stackoverflow.com/questions/73762350
复制相似问题