2016-01-27 26 views
2

我们使用BDH函数来获取每个交易日结束时的收盘价格,并且一次对不同类型的证券和指数列表进行此操作。如果节假日给出彭博和更新公式N/A

目前,列表中的每个BDH-index都指向表格顶部的同一日期,如果一个索引因为当天没有交易而给出N/A,我们手动将它指向一个单元格另一个日期。

=BDH($B4&" index","px_last",$I$1,$I$1) 

B4指指数( “SPX” 等)和I1 =昨天的日期。

我刚刚写了一个VBA例程,它更新顶部的日期,但现在我想要它也检查是否有任何索引给出了N/A,如果是的话,让它自动引用另一个单元格的日期。

有人可以给我一些建议,如何检查行中的值范围c4:c20,然后更改公式使用的单元格。还是我应该改变公式本身?

回答

1

你也许可以使用,而不是一个覆盖:

=BDH($B4&" index","px_last",$I$1,$I$1,"Days=A,Fill=P") 

这将检索最后一个可用的价格截至昨日收盘,这可能是昨日收盘前一天(或更早的日期),如果具体的仪器做昨天没有交易。

+0

这工作,真棒,谢谢。但是这些命令实际上做了什么? – Ken

+0

转到该单元格,然后单击HOME菜单上的AutoSum旁边的小箭头,然后单击更多功能。单击窗口底部的“关于此功能的帮助”链接,它将打开一个帮助窗口,其中包含您可以提供给BDH的所有参数。天= A意味着“检索[A] 11天,包括周末”,填充= P意味着“如果你没有给定日期的数据,填写可用的数据”。 – assylias

+0

太棒了,明白了。谢谢你,先生。 – Ken