以下是引用aichong在2006-10-29 11:28:26的发言:可能是OFFSET($A$1,1,,10)返回的是多个结果,而你却只按Enter结束,所以出错。 只是本人的一点愚见,欢迎批评指正! 看来OFFSET函数还得补课,OFFSET函数结果肯定为引用,所以方言朋友说的“结果为数组”是不正确的。 以下是引用sahelo在2006-10-28 22:14:37的发言: 还有一个问题,如果不是倒着来算,只是 OFFSET($A$1,1,,10) 不按三键也不会返回#VALUE! —————————————————————————————————————————————— 应该不算数组公式!至于为什么会出现#VALUE!,我也不知道,等老师们来回答吧! 对于OFFSET函数使用非数组公式结束产生结果为多区域引用时(单个引用不同),Excel的隐藏的交叉引用在起作用! 怎么理解呢?您可以做以下测试: 在A1输入公式:=OFFSET(B1,0,0,2) 结果为B1的值;当在A3输入上述公式时,结果为#Value!。为什么呢?因此根据Excel隐含的交叉引用规则,B1:B2与第3行两区域没有交集,所以结果出错,当然在第3行任何位置输入上述公式结果相同为#Value!错误。 再看,当在A2输入上述公式,结果为B2的值,就更加能够说明问题。这样一来,理解为何有的朋友公式结果为值,有的又为错误,原因就很清晰了。 那为何使用数组公式结束又能够正常显示值呢?这是因为使用数组公式后,系统认为将引用区域转换为数组,而在单个单元格中就只能显示数组中左上角的值了。 最后再看外套MAX函数(其他函数相同),由于OFFSET函数产生引用,当只输入OFFSET时,Excel要求函数返回值,所以使用交叉引用来返回结果;但外套其他函数则不同,在OFFSET函数层并不强行要求值,可以为区域引用,将区域引用交给MAX函数进行运算,所以直接通过普通公式结束,MAX函数取得最大值在单元格显示,结果正确! 这下应该清楚了吧?
[此贴子已经被作者于2006-11-13 0:25:10编辑过] |