问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用Excel函数实现排序与筛选的方法

发布网友 发布时间:2024-10-03 11:16

我来回答

1个回答

热心网友 时间:2024-10-03 11:34

Execl本身具有很方便的排序与筛选功能,下拉“数据”菜单即可选择排序或筛选对数据清单进行排序或筛选。但也有不足,首先无论排序或筛选都改变了原清单的原貌,特别是清单的数据从其它工作表链接来而源数据发生变化时,或清单录入新记录时必须从新进行排序或筛选。其次还有局限,例如排序只能最多对三个关键字(三列数据)排序,筛选对同一列数据可用“与”、或“或”条件筛选,但对不同列数据只能用“与”条件筛选。例如对某张职工花名册工作簿,要求筛选出年龄大于25岁且小于50岁或年龄大于50岁或小于25岁都是可行的,如同时要求性别是男的或女的也是可行的。但要求筛选出女的年龄在22岁到45岁,男的年龄在25岁到50岁时Execl本身具有的筛选功能则无能为力了。再者排序与筛选不能结合使用,即不能在排序时根据条件筛选出来的记录进行排序。例如有一张职工资料清单,其中有的职工已经退休,对在职职工的年龄进行排序时无法剔除已退休职工的数据。
本文试图用Execl的函数来解决上述问题。
一、用函数实现排序
题目
如有一张工资表,A2:F501,共6列500行3000个单元格。表头A1为姓名代码(1至500)、B1为姓名、C1为津贴、D1为奖金、E1为工资、F1收入合计。现要求对职工收入从多到少排序,且在职工总收入相同时再按工资从多到少排序,在职工总收入和工资相同时再按奖金从多到少排序,在职工职工总收入和工资、奖金相同时再按津贴从多到少排序。
方法
G1单元格填入公式
“=if(F2=0,10^100,INT(CONCATENATE(999-f2,999-e2,999-d2,999-c2)))”,
CONCATENATE是一个拼合函数,可以把30个以下的单元的数据拼合成一个数据,这些被拼合的数据之间用逗号分开。用f2、e2等被拼合的数据用999来减,是为了使它们位数相同。(假定任何一个职工的总收入少于899元)。被拼合成的函数是文本函数,CONCATENATE与INT函数套用是为了使文本转换为数字。最外层的if函数是排序时用来剔除不进行排序的记录,在本例中指收入为零的记录。(在上文提到的职工年龄排序,则公式改为“if(f2="退休",10^100,…..)”,即剔除了退休职工。)
第二步把G1单元格的公式拖放到G500单元格(最简便的方法是点击G1单元格后向G1单元格右下方移动鼠标,见到黑十时双击鼠标就完成了G1到G500的填充)。
第三步在在H2单元填入公式“=MATCH(SMALL(G:G,ROW(A1)),G:G,0)”与第二步一样拖放到H501单元格。此公式实际上是把三列公式合成一列公式,ROW(A1)即为A1的行数是1,随着向下拖放依次为2、3、4…,SMALL(G:G,ROW(A1))为G列中最小的数随着向下拖放依次为第2、第3、..小的数,MATCH(SMALL(G:G,ROW(A1)),G:G,0)即为G列各行的数据中最小、第2、第3小等的数据在第几行。
第四步把A1至F1单元格的表头复制到I1至N1单元格,在I2单元格输入公式“=INDEX($A$2:$F$501,$H2,COLUMN(A$1))”INDEX函数是一个引用函数,即把$A$2:$F$501单元格列阵第$H2行第COLUMN(A$1)列的数据放入I2单元格。然后把I2单元格的公式拖放到N2单元格,点击N2单元格后向N2单元格右下方移动鼠标见到黑十时双击鼠标就完成了I2到N501单元格的填充到此全部完成。
以上叙述看似繁杂实际非常简单,只要把A1至F1的表头复制到I1至N1单元格,再分别在G1、H2、I2单元格输入公式然后向下拖放,即使对EXCEL应用不熟练的同志一分锺内便能完成。
对上述程序稍作变化还可得到更多用度。上面例子数据是从大到小排列的,如H列的函数中的SMALL改为LARGE,上面例子数据就从小到大排列了。如H2单元格的公式改为“=IF(O1=1,MATCH(SMALL(G:G,ROW(A1)),G:G,0),MATCH(LARGE(G:G,ROW(A1)),G:G,0))”
并把H2单元格的公式向下拖放。这样在O1单元格输入1上面例子数据是从大到小排列的,O1单元格输入1以外的数上面例子数据就从小到大排列了。
如在H列前插入若干列,如插入一列,则现在的H列输入类似G列的公式,例如
“=if(F2=0,10^100,d2)”,现在的I列的公式改为“=IF(P1=1,MATCH(SMALL(G:G,ROW(A1)),G:G,0),
MATCH(SMALL(H:H,ROW(A1)),H:H,0)))”
即在P单元格输入1以外的值就实现了按奖金大小排序.这样只要通过改变P1(原来的O1单元格)单元格内容的改变就能立即得到按不同要求的排序。
二、用函数实现筛选
题目
如有一张职工名册表,A2:F501,共6列500行3000个单元格。表头A1为姓名代码(1至500)、B1为姓名、C1为性别、D1为年龄、E1为学历、F1职称。现要求对职工的性别、年龄、学历、职称进行交错筛选,例如要求在同一张表上筛选出1、女的年龄在22岁到45岁,男的年龄在25岁到50岁,2、女博士,3、男博士后。
方法
第一步在G2单元格输入公式”=IF(OR(AND(C2="女",D2>=22,D2<=45),AND(C2="男",
D2>=25,D2<=50)),ROW(A1),0)“,在H2单元格输入公式”=IF(AND(C2="女",E2="博士"),
ROW(B1),0)“,在I2单元格输入公式”=IF(AND(C2="男",E2="博士后"),ROW(B1),0)“。在J2单元格输入公式“=IF(K$2=1,LARGE(G:G,ROW(A1)),IF(K$2=2,LARGE(H:H,ROW(A1)),
IF(K$2=3,LARGE(I:I,ROW(A1)),0)))”然后用上述提到的方法向下拖放。G、H、I列的公式的含义就是凡符合筛选条件的行记录下行号否则为零,J列的公式的含义根据K2的数值选择G、H、I中的一列进行排序并把不合条件的行除去。
第二步在K1单元格输文字”筛选选择”,A1到F1表头复制到L1到Q1,在L2单元格输入
公式“=IF($J2=0,0,INDEX($A$2:$F$501,$J2,COLUMN(A$1)))”,然后向右拖放到Q2,再向下拖放。INDEX函数的含义上文已说明。
第三步在P1单元格输入1或2或3便可实现上述三种筛选。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 求EXCEL函数,A1到E1的数据与G1到Q1的数据用红色突显出来,不是要A1到Q... excel表格 例如 我需要L列的数据乘以m的数据然后填到n列去该怎么弄,是... 求Excel公式,如何在N列单元格中显示在I列中M列里数字所对应行数的数据... excel中区域A1:A10,求A1到n1的和,n为可变的数或者函数,怎样设置sum函... 顾客满意度指数编写测评报告 梦见我吃过了的东西给了死去的爷爷吃了是什么情况 复仇者联盟3无限战争中文字母的高清完整版 谁有复仇者联盟3高清云盘资源,不要去微信公众号的(我没有装微信),谢谢... 希望给孩子买一款好的护眼灯。在飞利浦和松下拿不定主意,请问用过的朋... 聚众淫乱罪立案标准是什么? 中华人民共和国刑事诉讼法,第一百六十条,应该怎么除法 QQ密码忘了 怎么找能知道 梦见猴子不停的追我,然后追到我,把我抱楼顶上,我弟来救我,我就跳楼顶... ...就是做梦梦见自己到了阴间,好像要到一个地方去,但是要闯关,然后场 ... 有没有什么好看的动漫 类型最好是爱情+打斗+穿越 人物好看点剧情不要... 直播的时候可以挂淘宝店铺的链接吗? 怀孕吃的叶酸哪种好 女性怀孕叶酸吃什么牌子好呀? 怀孕补叶酸吃什么牌子 怎样委婉的询问他人帮忙处理的进展情况? 在EXCEL中,A1,B1,C1...Z1...N1,在打印预览的时候只能看见A1到F1的内容... 求高手帮我解决打印机为什么老是出显卡纸呢?是什么原因,请说仔细一点... 打印机光进纸不打印打印机屏显卡纸 EPS0N喷墨打印机Ep803A款多少钱一台(套)? 我在外地已有一套住房,现又在成都购入一套130平米房,请问这套房契税应按... 在外市2008年父母为我买了一套房,现在在本市买一套房,契税怎么算... 为什么我用U盘插入打印机没有反应? ...但“我的电脑”里不显示,在设备和打印机中可以看到,显示的是这个... 电脑连接打印机正常使用,但插上U盘的时候却总是死机,是怎么回事? 在xp系统开机打开我的电脑,没有插什么USB设备怎么有显示移动设备呢_百 ... weiteen是怎么回事? ...一个认识的人,按说住在一栋楼里,但平时没什么接触。梦里有人介绍我们... 小白学英语单词有哪些小技巧? ...打印机和音响设备的办公电脑的操作步骤和流程? 常熟和无锡哪个发达 问道变身卡等级排列情况是什么? 问道有什么生肖变身卡? 乐峰简介 平顶山市第六中学学校简介 平顶山世纪丰田汽车销售服务有限公司怎么样?