以下是引用aichong在2006-7-11 12:06:30的发言:=SUM((MATCH(IF(SUBTOTAL(3,OFFSET($B$1,ROW($B$2:$B$11)-1,)),$B$2:$B$11),IF(SUBTOTAL(3,OFFSET($B$1,ROW($B$2:$B$11)-1,)),$B$2:$B$11),0)=ROW($B$2:$B$11)-1)*1)-NOT(ISNA(MATCH(0,SUBTOTAL(3,OFFSET($B$1,ROW($B$2:$B$11)-1,)),0)))——呵呵,这个有点问题,不知道为什么? 很有意思的问题。 我测试了一下,毛病处在aichong在B8单元格的公式上。这个公式里包含了OFFSET。 如果这个单元格不是公式,而是数据(数字或字符)都不会有问题;如果公式里不包含INDIRECT和OFFSET这两个函数,也不会有问题。 【而且,我们注意:这个公式在编辑栏里按F9却能得出正确的结果,只是不能正确的显示。即使做成多单元格数组,也不能正常显示。这说明:这个结果好像至少是三维的】 我们把这个公式缩短一点,看看问题出在哪里: =SUM((MATCH(IF(SUBTOTAL(3,OFFSET($B$1,ROW($B$2:$B$11)-1,)),$B$2:$B$11),IF(SUBTOTAL(3,OFFSET($B$1,ROW($B$2:$B$11)-1,)),$B$2:$B$11),0)=ROW($B$2:$B$11)-1)*1) 还有问题;再缩短: =MATCH(IF(SUBTOTAL(3,OFFSET($B$1,ROW($B$2:$B$11)-1,)),$B$2:$B$11),IF(SUBTOTAL(3,OFFSET($B$1,ROW($B$2:$B$11)-1,)),$B$2:$B$11),0)=ROW($B$2:$B$11)-1 这就好了。 为什么会这样? --------- 我把上面的公式再作个彻底的变化,不用OFFSET,SUBTOTAL这些令人头疼的东西,另写个公式: =SUM(--(MATCH(B2:B8,B2:B8,0)=ROW(B2:B8)-1)) 这个公式再简单不过了。但它仍然和上面一样,可以用F9看,却不能在单元格中正确显示。好像也是个三维的结果。 ------- 头疼…… |