192.168.1.1-路由器设置 > office办公软件 > excel表格的基本操作 >

Excel表格之自动排序

文章摘要

在Excel中利用数据的排序功能可以很轻松地进行排序,但这种排序会原有的数据清单。笔者经过摸索,发现了两种可以利用公式自动排序且不原始数据清单的方法。 一、利用数组公式 数组公式可以同时进行多重计算并返回一种或多种结果。数组公式对两组或多组被称为请看如下

 

  在Excel中利用数据的排序功能可以很轻松地进行排序,但这种排序会原有的数据清单。笔者经过摸索,发现了两种可以利用公式自动排序且不原始数据清单的方法。

  一、利用数组公式

  数组公式可以同时进行多重计算并返回一种或多种结果。数组公式对两组或多组被称为数组参数的数值进行运算。数组公式的创建方法很简单,在单元格中输入公式后按CTRL+SHIFT+ENTER组合键即可生成数组公式。我们以下图中的Excel表中数据为例,现在我们想根据工资多少进行排序。

  为了便于输入,用Salary来代替$F$2:$F$31这个范围区域,用Name来代替$B$2:$B$31。

  在单元格H2中输入“=INDEX(Name,MATCH(LARGE(Salary+ROW(Salary),ROW()-1),Salary+ROW(Salary),0))”,最后按CTRL+SHIFT+ENTER,自动在公式两端加上{}成为数组公式。

  下面我们将公式的作用详细说明如下。

  ROW(参数)函数的作用是得到“参数”所代表的单元格或单元格区域的行号,如果在数组公式中输入这个公式就得到一个行号数组。

  excel表格排序ROW(Salary)记录的是行号的信息,Salary+ROW(Salary)就是再原来工资的数目上再加上行号,这样是为了防止有相同的工资数目出现,避免因相同的工资数而出现错误的排序。

  ROW()-1则是给出一个从1到24的序数数组,便于从大到小对工资进行排序。LARGE(Salary+ROW(Salary),ROW()-1)是在Salary+ROW(Salary)的范围内找出一个ROW()-1大的数X(暂时用X来代替其返回值)。

  MATCH函数是返回在指定方式下与指定数值匹配的数组中元素的相应。MATCH(X,Salary+ROW(Salary),0)的作用是在Salary范围内查找X并且返回其所在的行号M(暂时用M代替返回的行号M)。

  INDEX(Name,M)是在Name范围内返回第M个元素的内容。

  这样就完成了从大到小的排序。

  为了便于与原数据进行比较,可在I2中输入“=INDEX(Name,MATCH(LARGE(Salary+ROW(Salary),ROW()-1),Salary+ROW(Salary),0))”,然后再按组合键,这样就可以将工资数目从高至低排列出来。

  如果要从小到大排序则只需把LARGE()函数换成SMALL()函数即可。

分享到:

tags:excel表格排序

最近更新-关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明
CopyRight2009-2011 All Rights Reserved 192.168.1.1 路由器设置jmqy.com