[算表] INDEX 疑問

作者: cutekid (可愛小孩子)   2019-08-10 22:43:36
軟體: Excel
版本: 2010
儲存格狀況:
A B C D E F ...
1 1 3
2 2 4
問題 1: 公式 =INDEX(SUM(OFFSET(A:A,0,ROW(1:2)-1)),1) 得到結果: 4
問題 2: 公式 =INDEX(SUM(OFFSET(A:A,0,ROW(1:2)-1)),2) 得到結果: #REF
問題 1 預期結果: 3,因為 INDEX(SUM({A:A,B:B},1) = INDEX({3,7},1) = 3
問題 2 預期結果: 7,因為 INDEX(SUM({A:A,B:B},2) = INDEX({3,7},2) = 7
不知道哪邊理解錯誤
作者: soyoso (我是耀宗)   2019-08-10 22:57:00
作者: cutekid (可愛小孩子)   2019-08-11 01:38:00
謝謝 s 大,為什麼原本的 sum 會那樣呢
作者: soyoso (我是耀宗)   2019-08-11 09:45:00
公式內的sum只有回傳一個加總後的元素值,因此以index指定第二個元素就會回傳#ref
作者: cutekid (可愛小孩子)   2019-08-11 10:23:00
那第一個元素的 4 是怎麼得到的呢A1 + B1 嗎? 背後處理的邏輯好像跟所想的不太一樣
作者: soyoso (我是耀宗)   2019-08-11 10:33:00
陣列公式的話,會加總a:a和b:b的第一個儲存格,為1+3
作者: cutekid (可愛小孩子)   2019-08-11 11:27:00
所以 sum 裡面有 multiple range 的話,它會將每個 range第一個儲存格的值做加總 ?
作者: soyoso (我是耀宗)   2019-08-11 11:28:00
=INDEX(SUM(OFFSET(A:A,0,ROW(1:2)-1)),1)只會有一個元素值看起來應該也要和sum(a:a,b:b)回傳10才是如這個邏輯是原po疑問的話,個人覺得這是sum函數在配合offset要在加上column讓其產生二維陣列,如=INDEX(SUM(OFFSET(A:A,ROW(1:2)-1,column(a:b)-1)),1)sum參照多個範圍,並不會只以第一個儲存格做加總而是配合offset時要給於足夠的元素位置,原公式內只有一維二個元素位置sum無法在這二個元素位置內就展開所有的值,因此帶入範圍內的第一個儲存格值回文11:28的公式應是=INDEX(SUM(OFFSET(A1,ROW(1:2)-1,column(a:b)-1)),1)

Links booklink

Contact Us: admin [ a t ] ucptt.com