標題:
[發問]
等比級數相加
[打印本頁]
作者:
PJChen
時間:
2016-7-2 21:40
標題:
等比級數相加
大大們好,
B2是起始值為1,每增加一層就多3倍,
當E2=2代表第1層+第2層的值=4
當E2=3代表第1層+第2層+第3層的值=13
如何在E1 key入層級時,以公式帶出E2的層級加總?
但其條件限制是只能利用E1的值變化,不能用A欄及B欄的數字去加總或搜尋!
請問有什麼函數可以用?
[attach]24603[/attach]
[attach]24604[/attach]
作者:
KCC
時間:
2016-7-2 22:55
回復
1#
PJChen
看看這個是不是你要的
E2 =SUMPRODUCT(3^(ROW(INDIRECT("1:"&E1))-1))
或是用SUM+陣列公式
要更簡捷高效的就得等其他人指點了
作者:
PJChen
時間:
2016-7-2 23:27
本帖最後由 PJChen 於 2016-7-2 23:39 編輯
回復
2#
KCC
您好,
太感謝您了,可以算出正確答案!可否幫忙解釋下公式的意函?
=SUMPRODUCT(3^(ROW(INDIRECT("1:"&E1))-1))
另外再請教,若1當成第0層時,公式可以怎麼改?目前E1=0時會出現#REF!
層級 個數
0 1
1 3
2 9
3 27
4 81
5 243
6 729
7 2187
8 6561
作者:
KCC
時間:
2016-7-2 23:56
回復
3#
PJChen
1. 利用3^(row(1:x)-1)作出 {3^0,3^1......3^X},再加總
2.SUMPRODUCT(3^(ROW(INDIRECT("1:"&E1+1))-1))
作者:
PJChen
時間:
2016-7-3 00:01
回復
4#
KCC
謝謝您的解說
作者:
PJChen
時間:
2016-7-3 16:46
回復
4#
KCC
1. 利用3^(row(
1:x
)-1)作出 {3^0,3^1......3^X},再加總.....
2.SUMPRODUCT(3^(ROW(INDIRECT("1:"&E1+1))-1))
請問大大,
我從昨天一直在研究這個公式,雖然您幫我作出來了,讓我可以直接套用,但我還無法全部理解....
問題:
1. 紅字的部份要怎麼去理解意函?還有為什麼要把它當作是文字?(我看它用了雙引號")
2. 最外層用了
SUMPRODUCT
為什麼就能夠自動作出 {3^0,3^1......3^X},再加總.....
Sorry!這對我有點深,麻煩您了...
作者:
KCC
時間:
2016-7-3 17:53
本帖最後由 KCC 於 2016-7-3 17:57 編輯
回復
6#
PJChen
一、基本陣列說明
row(1:1)={1},row(1:2)={1;2}
={sum(row(1:2))}=sum({1;2})=3=sumproduct(row(1:2))
第一個是陣列公式,要按ctrl-shift-enter
就像寫vba程式一樣,sum函數+陣列公式可以簡單想像跑迴圈作累加
而sumproduct本身具陣列公式特性,所以不必再按ctrl-shift-enter
小數字ok,如果要作出1~100的陣列,不用陣列公式就得弄出{1;2;3....100}
也可以簡單的row(1:100),配合其他運算函數再按ctrl-shift-enter
如{sum(row(1:100))}就可以加總1~100
二、公式說明
利用3^(row(1:x)-1)作出 {3^0,3^1......3^X},再加總.....
這個我寫錯了,應該是作出 {3^0
;
3^1......3^
(X-1)
},再加總.....
實際上應該用分號,代表row函數產生的數列是垂直陣列
但一般懒得打都打逗號
x是當變數,這裡指的就是你在 E1 輸入的值,所以公式是直接寫e1
3^(row(1:x)-1)
3^(row(1:1)-1)={3^(1-1)}={3^0}={1}
3^(row(1:2)-1)={3^(1-1);3^(2-1)}={1;3} 底下依此類推
因為要算的是依變數的值而變動
至於用 " ,indirect函數都要用文字型式輸入 文字&e1 還是文字
所以利用(indirect("1:"&E1)作出(1:1)(1:2)..等的區域給row函數來引用求值
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)