to danq:提点小要求 38楼——感谢帖可以不必。39楼求解释的应该附上附件或者原帖链接。楼层右下角有“编辑”,可以用这个功能减少发帖楼层。谢谢配合。 39楼的问题应该是NUM_1是一个定义名称,查看方法:菜单插入〉名称〉定义;或者Ctrl+F3;或者F3然后在空白处粘贴列表。均可看到定义名称的公式。前两种方法对“引用某些单元格区域”的定义名称点击名称公式时,能在excel里显示具体的范围,用虚线框起来。 再来一个公式解释:(原帖链接http://club.excelhome.net/viewthread.php?tid=163314&px=0) =INDEX(A:A,SMALL(IF(A$1:A$19<>"",ROW($1:$19),65536),ROW()))&"" 其实这个公式出去65536和&""两个部分的话大家并不陌生,是依次列出满足某条件的记录的数组公式。 解释: 1、关于if部分:如果A1:A19不为空,则返回A1:A19的行号(条件),否则返回65536(注意Excel2003及之前版本的最大行数是65536,Excel2007将采用1048576行,具体见有关介绍); if外部套用small()+row()进行排序,将if得到的满足条件的行号和不满足条件的65536进行排序 2、关于&"":首先说一个大家很熟悉的事情,那就是引用空单元格的情况,比如=A1、=index(1:1,,1)、=index(A:A,1)、=offset(B1,,-1)、=indirect("A1")等等各种各样的方法引用A1单元格,当A1为空的时候,这些引用都返回0,如果这个0时我们所不想看到的话,经常会采用工具〉视图〉零值勾选掉的方法。但比如我们想当A1=0的时候,引用A1就显示0,当A1为空时,引用A1显示空,那么我们就可以在以上引用公式的尾巴加上&""——将A1单元格的内容与""空合并成文本,则此时返回的将不是0而是空了。注意,返回的是“文本”,如果A1是日期,则返回的是日期序列号数字的“文本”,等等(可以再套用Text(引用,"yyyy-m-d")等来显示日期)。如果A1是数值型数字,返回的则是文本型数字,切记! 3、基于以上两点认识,我们不难理解,该公式的含义就是: 对A列取行列交叉值(index),其行号是small函数排好序(按记录先后顺序)的行号和65536组成的。而由于一般情况下,Excel最底下那一行是没有内容的(空),所以这个公式能达到=if(row(1:1)>满足条件记录个数,"",index(……))一样的显示效果。值得注意的是,除了这个公式缩短了长度和计算满足条件记录个数步骤带来的好处以外,要切记返回的是文本哦! 这个公式的用法还不少,喜欢的朋友们可以自己多试试。今天看到的一个:http://club.excelhome.net/viewthread.php?tid=163393&px=0 第3楼。(呵呵,这个用法我也是从gvntw版主那里学来的)
[此贴子已经被作者于2006-12-5 13:20:53编辑过] |