INDEX / MATCH最接近某个date的值

在“股息”表中,我有一张按日datesorting的股息表。 例如,列A和B包含以下条目:

6/14/2015 6/13/2015 6/12/2015 0.045 6/11/2015 6/10/2015 

这意味着股票在2015年12月6日派息了0.045。

在另一张“AdjClose”表中,我有一个包含每周date和股票价格的表格,例如

 6/15/2015 1.23 6/8/2015 1.24 6/1/2015 1.06 5/30/2015 1.10 5/23/2015 1.22 5/16/2015 1.20 

我现在计算收益率,在这里我将股利除以最接近派息date但小于该date的股票价格。

结果应该是:

 0.045/1.24 

我怎么能这样做? 非常感谢您的任何意见。

在代码简单的四个命名范围之后:“股息”:股息日(A栏); DividendsPaid(B列)“AdjClose”:StockDate(列A); StockPrice(B栏)

尝试(在“股息”栏C:

 {=INDEX(StockPrice;MATCH(MAX(IF((StockDates<=A1);StockDates));StockDates;0))} 

假设你想要find调整股票价格的股息date在A1单元格。

并抄下每个分红date。 这会给你股息的日子最近的日子,但之前,你的股息date(或date如果是相同的)。 那么就按照当天的红利分配(无论是在我写的公式中,还是在单独的专栏中)。总是很好地显示您的计算步骤,因此更容易遵循。

请记住在input公式时按下CTRL + SHIFT + ENTER,而不仅仅是ENTER,因为它是一个数组公式。

编辑:另外,你需要改变; 如果这是你的语言的公式分隔符。

不是最好的一个,但一个选项:

 {=B3/INDEX(AdjClose!$B$1:$B$6,MATCH(MAX((AdjClose!$A$1:$A$6<=Dividends!A3)*AdjClose!$A$1:$A$6),AdjClose!$A$1:$A$6,0))} 

选项#2 – 好得多,因为没有重复范围:

 {=B3/INDEX(AdjClose!$B$1:$B$6,MATCH(1,--(AdjClose!$A$1:$A$6<=Dividends!A3),0))}