[算表] 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