- 帖子
- 85
- 主題
- 0
- 精華
- 0
- 積分
- 126
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-8-31
- 最後登錄
- 2022-4-15
|
7#
發表於 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函數來引用求值 |
|