資料如下:左半部是每日加權指數報酬率,右半部是每組有兩個時間點的資料請問要如何快速計算兩個時間點之間的累計報酬?例如:如果要計算第一筆資料2006/01/02到2006/01/19的累計報酬必須要找到2006/01/02日報酬(-0.013176)一直到2006/01/19日報酬(0.002057)共14筆資料+1後相乘我自己的方法是找出個時間點的位置後用product和offset計算請問有沒有更快或是更簡潔的方法可以快速計算任兩個時間點的累計報酬?
hkry7533 wrote:2006/01/19日報酬(0.002057)共14筆資料+1後相乘...(恕刪) 這裡我看不懂…但是如果是時間區段相乘的話,我會這樣做(放在J2,其它往下拉就可以)=PRODUCT(INDIRECT("d" & MATCH(H2,A:A,0) & ":" & "d" & MATCH(I2,A:A,0)))那個+1,我實在看不懂您要怎麼加,剩下的就自行修改吧
假設用原檔來計算1/2~1/19H2為起始日I2為結束日1. 報酬率+1 相乘用 VLOOKUP(H2,$A:$D,2) 找出 1/2 的收盤價 6462.06用 VLOOKUP(I2,$A:$D,2) 找出 1/19 的收盤價 6512.288[圖看不到1/19,用推算的 1/18的收盤價*(1+0.02057)]再用這兩值去算 1/3~1/19的報酬率(6512.288-6462.06)/6462.06=0.00777275...用 VLOOKUP(H2,$A:$D,4)找出1/2的報酬率 -0.013176再用 (1-0.013176)*(1+0.0077275...)=0.994494... 得出你要的答案簡化算式為=(1+RATE(1,-VLOOKUP(I2,$A:$D,2),VLOOKUP(H2,$A:$D,2)))*(1+VLOOKUP(H2,$A:$D,4))=0.994494...2.只算1/2~1/19的報酬率1/2開盤價= VLOOKUP(H2,$A:$D,2)/(1+VLOOKUP(H2,$A:$D,4))1/2~1/19的報酬率=RATE(1,-VLOOKUP(I2,$A:$D,2),VLOOKUP(H2,$A:$D,2)/(VLOOKUP(H2,$A:$D,4)+1))=-0.005505618資料每一筆抓出算和只拿頭尾來算好像一樣的結果?所以我只用頭尾來計算,參考看看。
M1 N1 輸入日期找個空格,F2 , 貼上 =PRODUCT(IF(A2:A200>$M$1,1,IF(A2:A200<$N$1,1,D2:D200+1)))CTRL + SHIFT +ENTER (產生array formula)