看来已经有朋友用到了subtotal,我是这样求的:
=SUM((MATCH(SUBTOTAL(4,OFFSET(B1,ROW(B2:B11)-1,)),SUBTOTAL(4,OFFSET(B1,ROW(B2:B11)-1,)),)=ROW(B2:B11)-1)*1)-(ROWS(B2:B11)>SUM((SUBTOTAL(4,OFFSET(B1,ROW(B2:B11)-1,))>0)*1))*1
利用subtotal直接获得筛选后的数组,在这数组中判明不重复个数,不过由于这个数组会有0出现,这是一个不谐音.一是当进行筛选时,0也会被视作一个值,所以最后要-1,而当不筛选时,-1又是多余,这就使得要对这个-1加以判断.二是如果原来的数据源中本就有0,那就更糟了.
所以还是版主强,一是frequency用得好(经简单试验,可以避免源中有0的情形),,二是故意使0值出错,再利用count可以忽略的特性,确实是高
参照他的,把我公式小改一下(如果源中有0,结果不正确)
=COUNT(IF(MATCH(1/SUBTOTAL(4,OFFSET(B1,ROW(B2:B11)-1,)),1/SUBTOTAL(4,OFFSET(B1,ROW(B2:B11)-1,)),)=ROW(B2:B11)-1,1))
[此贴子已经被作者于2005-9-9 11:44:46编辑过] |