×

排序函数 排序 c

如何用excel函数给数据排序?excel如何用函数排序

admin admin 发表于2023-04-11 19:52:57 浏览105 评论0

抢沙发发表评论

本文目录

如何用excel函数给数据排序

如何用Excel函数排序与筛选:
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单元格)单元格内容的改变就能立即得到按不同要求的排序。

excel如何用函数排序

如果是根据数据后的数字排序,请添加一个辅助列,将天1、地2、人3的右边数字截取出来,然后再对辅助列排序。
1、如果天1、地2、人3在A列,则在B1单元格输入=--RIGHT(A1)然后向下填充;
2、随后选择B列,排序;或者在C列写入排序函数:C1单元格输入=RANK(B1,$B$1:$B$3)并向下填充公式,即可实现排序。

Excel排序函数是哪个函数,这个函数有几个参数,分别说一下每个参数的作用

排序的基本函数是rank,共三个参数,比如rank(a1,a1:a100,0),表示A1在A1到A100这个区域中的排位,第一个参数为需要排序的值,第二个参数是进行排序的区域,第三个参数用0或1来指定升序还是降序。

Excel中Rank函数排序的方法,包含相同数字按顺序排位和分

在 Excel 中,Rank函数用于实现一个数字在指定数字列表中的排位,并且可以通过拖动的办法实现对整个数字列表的自动排序。Rank函数共有三个参数,前两个为必选项,后一个为可选项;如果省略可选项,将默认按降序排序。Rank函数怎么用呢?文章先介绍Rank函数的语法,再用四个由浅入深的具体实例分享Rank函数的使用方法;四个实例分别为无重复数字的自动排序、重复数字并排的自动排序、重复数字顺排的自动排序和Rank函数与OffSet函数组合实现分段排序,实例操作所用版本均为 Excel 2016。

一、Rank函数语法

1、表达式:RANK(Number, Ref, [Order])

中文表达式:RANK(要排序的数字, 数字列表, [排序方式])

2、说明:

A、Ref 为数字列表数组或对数字列表的引用,如果有非数字将被忽略。

B、Order 为可选项,用于指定数字的排序方式;如果省略,则默认值为 0,则按降序排序;如果为非 0,则按升序排序。

二、Rank函数怎么用

(一)无重复数字的自动排序

1、假如要对销量按降序排序。选中 G2 单元格,输入公式 =RANK(F2,$F$2:$F$12),按回车,返回 F2 在 F2:F12 中的排位;再次选中 G2,把鼠标移到 G2 右下角的单元格填充柄上,鼠标变为黑色加号后,按住左键,往下拖一直拖到 F12,则所经过单元格都对应 F2:F12 中的数值排好序;操作过程步骤,如图1所示:

2、公式说明:

A、公式 =RANK(F2,$F$2:$F$12) 中,F2 是要排序的数字,是对 F2 的相对引用,往下拖时,会变为 F3、F4、……;$F$2:$F$12 是对 F2 至 F12 的绝对引用,往下拖时,F2 和 F12 都不会自动加 1,即无论拖到哪个单元格都始终返回从 F2 到 F12 的数字列表。

B、公式省略了排序方式 Order,默认按降序排序,F2:F12 中的最大值 982 排序在第一位;如果要按升序排序,可以把 Order 设置为非 0,如设置为 1,则公式变为 =RANK(F2,$F$2:$F$12,1)。

(二)重复数字并排的自动排序

1、假如要对价格按升序排序。把公式 =RANK(E2,$E$2:$E$12,1) 复制到 G2 单元格,如图2所示:

2、按回车,返回 E2 在 E2 至 E12 中的排位,同样用往下拖的方法把其余价格排序,排好后,如图3所示:

3、排在第一的是 65,它是 E2 至 E12 中最小的值,说明排序方式为升序;E2 至 E12 中共有两组重复数字,一组是 89,另一组是 99,两个 89 都排在第 4 位,两个 99 都排在第 6 位,而第 5 位和第 7 位却留空。

(三)重复数字顺排的自动排序

1、同样对价格按升序排序。把公式 =RANK(E2,$E$2:$E$12,1)+COUNTIF(E$2:E2,E2)-1 复制到 G2 单元格,按回车,则返回 E2 在 E2 至 E12 中的排位;用往下拖的方法把其余价格排好序,操作过程步骤,如图4所示:

2、价格中的第一组重复数字 89 分别排到了第 4 位和第 5 位;第二组重数字 99 分别排到了 第 6 位和第 7 位。

3、公式说明:

公式 =RANK(E2,$E$2:$E$12,1)+COUNTIF(E$2:E2,E2)-1 用 CountIf函数统计当前数字在当前单元格之前有几个重复值;例如 COUNTIF(E$2:E2,E2) 统计 E2 在 E2 之前(即 E2)有几个重复数字,统计结果为 1,1 - 1 = 0,即 COUNTIF(E$2:E2,E2)-1 = 0;当拖到 E3 时,COUNTIF(E$2:E2,E2)-1 变为 COUNTIF(E$2:E3,E3)-1,统计 E3 在 E2 至 E3 有几个重复数字,统计结果为 1,COUNTIF(E$2:E3,E3)-1 = 0,则 =RANK(E3,$E$2:$E$12,1)+0=4;当拖到 E4 时,COUNTIF(E$2:E2,E2)-1 变为 COUNTIF(E$2:E4,E4)-1,统计 E4 在 E2 至 E4 有几个重复数字,统计结果为 2,COUNTIF(E$2:E4,E4)-1 = 1,则 =RANK(E4,$E$2:$E$12,1)+1=5。

(四)Rank函数与OffSet函数组合实现分段排序

1、假如要把销量按每段四个数分段排序。把公式 =RANK(F2,OFFSET($F$2:$F$5,INT((ROW()-2)/4)*4,),1) 复制到 G2 单元格,按回车,则返回 F2 在 F2 至 F5 中的排位;用往下拖的方法排好其余数字与其它分段的序;操作过程步骤,如图5所示:

2、公式说明:

A、公式 =RANK(F2,OFFSET($F$2:$F$5,INT((ROW()-2)/4)*4,),1) 用 OFFSET($F$2:$F$5,INT((ROW()-2)/4)*4,) 来实现分段,它是如何实现分段的?我们选择第二个分段的第一个单元格,即 G6 单元格,双击它,它的公式为 =RANK(F6,OFFSET($F$2:$F$5,INT((ROW()-2)/4)*4,),1),如图6所示:

B、其它的都没有变,只有 F2 变为 F6;Row() 用于返回当前行的行号,F6 的行号为 6,即 ROW()-2 = 4,INT(4/4) = 1,1*4 = 4,即 OffSet 变为 OFFSET($F$2:$F$5,4),也就是要往下移 4 行,由于 OffSet函数返回对单元格的引用,所以 OffSet 返回 $F$6:$F$9。

C、Rank 变为 =RANK(F6,$F$6:$F$9,1),也就实现了对第二段 F6 至 F9 数字列表的排序。

提示:由于是从 F2 开始,所以用 ROW()-2,如果从 F1 开始,则用 ROW()-1,其它的以此类推。另外,每个分段有几个数,用 (ROW()-2) 除几,如公式中的 (ROW()-2)/4;用 Int 取整后再乘几也是一样。

excel中怎样利用rank函数排序

您好,方法
1、首先找到Excel工作表。
2、双击打开Excel工作表,看到如图所示的表格,要求给同学的语文成绩排序。
3、在排名下面的单元格处输入=。
4、如图,在等号后输入rank。
5、光标定在rank函数处,双击所示箭头fx,弹出如图对话框。
6、如图,在number处输入所要排名的单元格,在ref处选中所有要排序的单元格,在order处填入0,点击确定即可。
7、双击填充柄或者点击填充柄下拉即可将所有数据排序。
8、像这样,所有同学的语文成绩就排好了。

Excel排序函数是哪个函数,这个函数有几个参数,分别说一下每个参数的作用

在Excel中没有排序函数,但是有个排名函数,排名函数的名称是RANK,共有三个参数,详细介绍如下:

  1. 第一个参数是数值,就是某一个数字(必选值);
  2. 第二个参数是引用,也就是一组数据或一个数据列表(必选值)
  3. 第三个参数是排位方式,也就是升序或降序,0或缺省表示降序,非零值表示升序(可选值)

函数参数图

注:第二个参数中如果有非数字值则会被忽略掉。

excel中的排序函数是哪个

假设E列是学生成绩,F列是学生成绩的名次,成绩高的为第1名,则可在F列输入公式:
=rank(E2,E$2:E$400)再向下填充公式就行了.
最后可按F列排序.

excel中中的排序函数怎么用

Excel中的排名分为2类,一类是只对单列进行升序或降序的排名,一类是对多列按类别进行的排名。

单列排名,通常使用RANK函数来实现;多列分类排名,通常使用SUMPRODUCT函数来排名。

方法一:通过RANK函数实现单列数据排名

1、在C2单元格输入以下公式,然后向下填充公式

=RANK(B2,B:B)

或者=RANK(B2,B:B,0)

公式表示:按降序的方式,给出B2在B列的排名顺序

2、在C2单元格输入以下公式,然后向下填充公式

=RANK(B2,B:B,1)

公式表示:按升序的方式,给出B2在B列的排名顺序

方法二:通过SUMPRODUCT函数返回多列按条件进行的排名

在C2单元格输入以下公式,然后向下填充公式

=SUMPRODUCT((A$2:A$8=A2)*(B$2:B$8》B2))+1

公式表示:将A列等于A2条件且B列大于B2条件的进行计数,结果加上1,得到A列同类条件的B列数据排名。

excel函数公式怎么自动高到低排序


以excel2016为例:

1、首先在excel表格中输入一组数据,需要根据函数公式将其从高到低排序。

2、在B1单元格中输入公式:=LARGE($A$1:$A$6,ROW(A1))。

3、点击回车即可根据A列的数据提取出最高值的数据显示出来。

4、点击B1单元格右下角的绿色圆点并下拉公式即可按照从高到低的顺序重新排列数据。


excel 排列组合公式


Excel有排列组合公式,PERMUT为排列函数,COMBIN为组合函数。

1、电脑打开Excel表格,输入组合函数=COMBIN(50,3)。

2、回车就会得到19600。

3、输入排列公式=PERMUT(50,3)/PERMUT(3,3)。

4、回车就可以了。