=OFFSET(A1,{0;1},{1,2}) 显示的结果为 {2,3;5,6} 即B1,C1;B2,C2 四个不同空间维度的点。
由于行列参数形成了不同方向的数组,即形成了4维引用
而4维数组无法显示出来,要返回一个2*2的二维区域数组,工作表平面二维空间无法实现;所以显示#VALUE!。
(Add:如果公式改成OFFSET(A1,{0,1},{1,2})则是一个方向(列方向)的拓展,则形成的是3维引用。)
大众解决方法会用sumif,countif,subtotal,N/T来处理多维引用。
此题可用:=N(OFFSET(A1,{0;1},{1,2}))返回每个维度左上角的值,"降落"到二维工作表中。
如果改成OFFSET(A1,{0;1},{1,2},{2,3})或OFFSET(A1,{0;1},{1,2},{2;3}) 显示结果为B1:B2,C1:C3,B2:B3,C2:C4四个平面,也是4维引用,只是由上面的点平面变成了面平面,如果用=N(OFFSET(A1,{0;1},{1,2},{2,3}))
则只会返回每个平面左上角的值,{2,3;5,6},这种已成面的平面无法在二维表中显示。不过可做数据处理,外套sumif等即可得知所包含的真实平面。
最后,只需知道2维和多维区别,再用sumif等函数去处理多维即可,无需纠结到底多少维度,没什么意义。
转自http://tieba.baidu.com/p/4540435646?pid=89486798944&cid=0#89486798944 八楼
由于行列参数形成了不同方向的数组,即形成了4维引用
而4维数组无法显示出来,要返回一个2*2的二维区域数组,工作表平面二维空间无法实现;所以显示#VALUE!。
(Add:如果公式改成OFFSET(A1,{0,1},{1,2})则是一个方向(列方向)的拓展,则形成的是3维引用。)
大众解决方法会用sumif,countif,subtotal,N/T来处理多维引用。
此题可用:=N(OFFSET(A1,{0;1},{1,2}))返回每个维度左上角的值,"降落"到二维工作表中。
如果改成OFFSET(A1,{0;1},{1,2},{2,3})或OFFSET(A1,{0;1},{1,2},{2;3}) 显示结果为B1:B2,C1:C3,B2:B3,C2:C4四个平面,也是4维引用,只是由上面的点平面变成了面平面,如果用=N(OFFSET(A1,{0;1},{1,2},{2,3}))
则只会返回每个平面左上角的值,{2,3;5,6},这种已成面的平面无法在二维表中显示。不过可做数据处理,外套sumif等即可得知所包含的真实平面。
最后,只需知道2维和多维区别,再用sumif等函数去处理多维即可,无需纠结到底多少维度,没什么意义。
转自http://tieba.baidu.com/p/4540435646?pid=89486798944&cid=0#89486798944 八楼