'***说明如下,如有问题可多加看看excel相关函数说明
另外怎么在excel中显示出list0,sn0等定义了名称数列的值?
在单元格输入=sn0後按鼠标左键下拉,点资料编辑列按Ctrl+Shift+Enter,(具体请参见excel 关于数组公式的说明)
not_zero----资料非零次数
not_zero=COUNTIF(num0,">0")
资料非零次数not_zero是指num0中非0个数4么?
是的,依num0返回非零次数
sn0----依标题数列列数N产生1,2,3~N的数列
sn0=ROW(list0)-ROW(OFFSET(list0,0,0,1,1))+1
这里的ROW(list0)已经是行号了,数列是{1;2;3;4;5;6;7;8},ROW(OFFSET(list0,0,0,1,1))又是什么,为什么要这么计算
因为list0的起始列数可能不是1,故用ROW(OFFSET(list0,0,0,1,1))返回list0起始列数并加以修正
sn1---依非零次数n产生1,2,3~n的数列
sn1=ROW(OFFSET(list0,0,0,not_zero,1))-ROW(OFFSET(list0,0,0,1,1))+1
同上(offset的使用请参见该函数的说明)
sn2---当原始资料num0为数字并且>0时赋予sn0值,否则赋予成Rows(num0)+1=N+1
sn2=IF(ISNUMBER(num0)*(num0>0),sn0,ROWS(num0)+1)
当num0为数值并>0时sn2=sn0,否则sn2=Rows(num0)+1
==>把1,2,3~N中num0为0项目用N+1取代
[ 本帖最后由 single_star 于 2009-12-16 09:07 编辑 ] |