前两天在论坛看到一篇帖子,是求隔四行相加的,有高人给出公式如下:
=SUMPRODUCT(N(INDIRECT("b"&ROW(1:10)*4)))
我不太清楚,为什么要用N()函数?这里用n()的目的是什么?还可以用别的什么函数来代替或达成同样的目的吗?
你用公式求值工具一步步看就知道了,返回的是三维引用,上面写错了。
INDIRECT("b"&ROW(1:10)*4))这个出来之后都是不能返回值的错误值。
类似的函数还有Offset,你可以找一下资料看看。
使用道具 举报
这样说准确点。
INDIRECT函数的参数如果为一个单元素数组时,而这个数组的元素又表示一个单元格区域时(不是一个单元格),返回的是一个三维的数组,就不能在工作表的单元格中全部显示出来,可用N函数(对数值)转化为二维数组。
是否是说INDIRECT("b"&ROW(1:10)*4))得出来的是多维引用?不能直接用sum函数?必须通过N转化为数组?
的确不能直接用SUM,二楼的更新了,看看
这样说还是有点不太明白:为何说返回的是三维数组,返回的不应该是数个单元格引用区域吗?还有,不能在工作表的单元格全部显示出来是什么意思呢?
我对数组函数这一块比较菜,还请高人不吝赐教。。谢谢!
或者我这样说:我将INDIRECT("b"&ROW(1:10)*4))这一块摸黑F9后的出来的数组,与用N()之后的出来的数组是一样的?
为什么还要用N()呢?
按F9不会返回引用,返回的是引用所指向的结果。
我大概知道了,公式求值后的出来的#value!实际上代表的是三维引用,引用的是单元格,而用n()之后就转化为二维的数组了,转化为可以用sum()求值的数值了,对吗?
有没有类似的解释的帖子推荐给我。。多谢了!
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )
GMT+8, 2024-6-1 22:56 , Processed in 1.422813 second(s), 6 queries , Gzip On, Yac On.
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.