上一篇:Excel-產生連續的數列來運算(http://isvincent.blogspot.com/2010/11/excel_18.html)提到連續數列的產生,這次拿它進一步做一些運算。
例如:傳統上要計算1-1/2+1/3-1/4+1/5-1/6 …,根據下圖右的運算,
儲存格B3:=-1*((MOD(ROW(A3),2))*2-1)*(1/A3)
儲存格C3:=SUM($I$2:I3),複製儲存格B3:C3,並往下貼上。可求得累加的結果。
如果運用連續的數列來運算,則可以這樣做:
儲存格F2:
=SUM((MOD(ROW($A$1:INDIRECT("A"&E2)),2)*2-1)*(1/ROW($A$1:INDIRECT("A"&E2))))
這是陣列公式,輸入完成後,要按Ctrl+Alt+Enter鍵。
其中:
MOD(ROW($A$1:INDIRECT("A"&E2)),2)*2-1,產生+1,-1,+1,-1, …的符號。
1/ROW($A$1:INDIRECT("A"&E2)),產生1,2,3,4, …的數列。
{+1,-1,+1,-1, …} X {1,1/2,1/3,1/4, …}的和即是答案。
例如:要計算1-1/2+1/4-1/8+1/16-1/32 …,根據下圖右的運算,
儲存格I3:=-1*((MOD(ROW(H3),2))*2-1)*(1/(2^(H3-1)))
儲存格J3:=SUM($I$2:I3)
複製儲存格I3:J3,並往下貼上。可求得累加的結果。
如果運用連續的數列來運算,則可以這樣做:
儲存格M2:
{=1+SUM((MOD(ROW($A$2:INDIRECT("A"&L2)),2)*2-1)*(1/2^((ROW($A$2:INDIRECT("A"&L2))-1))))}
這是陣列公式,輸入完成後,要按Ctrl+Alt+Enter鍵。
其中:
MOD(ROW($A$2:INDIRECT("A"&L2)),2)*2-1,產生+1,-1,+1,-1, …的符號。
1/2^((ROW($A$2:INDIRECT("A"&L2))-1)),產生1,-1/2,1/4,-1/8,1/16, …的數列。
{+1,-1,+1,-1, …} X {1,-1/2,1/4,-1/8,1/16, …}的和即是答案。
經測試 n=50 以上,其和已接近0.66666666666667(收斂於此)
自己練習一下,若要計算1+1/2+1/4+1/8+1/16+1/32 …:
只要將儲存格M2改為:{=SUM((1/2^((ROW($A$1:INDIRECT("A"&L2))-1))))}
經測試 n=50 以上,其和已接近2.00000000000000。(收斂於此)