1、SUM对多区域引用(三维引用)的计算 最新发现,先抛一砖,大家讨论讨论:) 将下面区域中黄色区域中的每一行和乘以蓝色区域的每一行的和结果写入橙色区域 115 21 312 结果 350 210 1040540 2050 3060 遗憾的是SUM的三维引用结果不是内存数组,但可以在同offset引用的同一方向(行或列)上继续运算。 将上面的结果公式再乘一个三行的区域或数组 000 1210210 210801080 大家可以发现,上面的例子中OFFSET的引用,用INDEX也可以完成,而且以前也见到过 但是下面这个例子INDEX就做不到了。 将棕色框和绿色框的数字分别相加,然后相乘 115 21
2、 512结果 2700 3630 104070=SUM(OFFSET(B26,0;1,2,4)*SUM(OFFSET(C31,0;1,2,3) 205080注意常量数组的“;“号 306090 注意这里的OFFSET能是一个方向上的偏移引用,要么行方向,要么列方向 用Indirect产生的三维引用也可达到相同的效果结果 2700 3630 =SUM(INDIRECT(“B26:E27“;“B27:E28“)*SUM(INDIRECT(“C31:E32“;“C32:E33“) 注意常量数组的“;“号 =(10+40)*(1+1+5) =(20+50)*(2+1) =(30+60)*(3+1+2)
3、 注意常量数组的“;“号 相当于下面两个公式 =SUM(B26:E27)*SUM(B31:E32) =SUM(B27:E28)*SUM(B32:E33) 将下面区域中黄色区域中的每一行和乘以蓝色区域的每一行的和结果写入橙色区域 遗憾的是SUM的三维引用结果不是内存数组,但可以在同offset引用的同一方向(行或列)上继续运算。 大家可以发现,上面的例子中OFFSET的引用,用INDEX也可以完成,而且以前也见到过 =SUM(OFFSET(B26,0;1,2,4)*SUM(OFFSET(C31,0;1,2,3) 注意常量数组的“;“号 =SUM(INDIRECT(“B26:E27“;“B27:E28“)*SUM(INDIRECT(“C31:E32“;“C32:E33“)