以文本方式查看主题 - 易表在线答疑 (http://egrid2000.com/dvbbs/index.asp) -- 精华分享 (http://egrid2000.com/dvbbs/list.asp?boardid=12) ---- 如何筛选名次列两头的数据?(小吴原创) (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=12&id=998) |
-- 作者:喜爱易表 -- 发布时间:2006/8/14 21:57:00 -- 如何筛选名次列两头的数据?(小吴原创) [操作技巧]如何筛选名次列两头的数据? (本技巧原创人:小吴、渔斑竹、喜斑竹) 利用易表的Filterfor函数实现复杂的筛选功能其实已经比较完善了,但有时遇到一些比较特殊的要求时,仅靠Filterfor还是难以完全满足要求,比如有这样一个要求: 某表里有一列名次列,数值型,其中填写的都是数字,这些数字可能有重复并可能不连续(例如班级考试排名,会有3个第3个名,后面紧接着就是第6名,即跳过了4、5);如果我要一次筛选出其中的前10名和后10名该如何做呢?由于存在前面提到的名次并列问题,那么筛选前10名或后10名就可能不会各只有10行数据。 其实,我们利用一个变量和一个辅助列,同样可以通过使用Filterfor来实现这种“掐头取尾去中间”的筛选,下面详细操作方法: 1、为文件新增一个变量:%a%; 2、设计表:一列名为“名次”,另一列名为“辅助列”,均为数值型;将辅助列的公式设置为:if(row=firstrow,1,if(cell(row,"名次")=cell(row-1,"名次"),cell(row-1,col),cell(row-1,col)+1)) 3、辅助列公式解析:实际上对名次列的数字给出真实的排名,对于名次列中2个连续相同的2个数字会给出同一排名,而下一数字的排名则继续上面的排名,如下图:
|