奢侈品配饰:Excel排序方法
来源:百度文库 编辑:偶看新闻 时间:2024/05/04 18:45:55
高效办公Excel排序方法"集中营"
排序是数据处理中的经常性工作,Excel排序有序数计算(类似成绩统计中的名次)和数据重排两类。本文以几个车间的产值和名称为例,介绍Excel 2000/XP的数据排序方法。
一、数值排序
1.RANK函数
RANK函数是Excel计算序数的主要工具,它的语法为:RANK (number,ref,order),其中number为参与计算的数字或含有数字的单元格,ref是对参与计算的数字单元格区域的绝对引用,order是用来说明排序方式的数字(如果order为零或省略,则以降序方式给出结果,反之按升序方式)。
例如图1中E2、E3、E4单元格存放一季度的总产值,计算各车间产值排名的方法是:在F2单元格内输入公式“=RANK(E2,$E$2: $E$4)”,敲回车即可计算出铸造车间的产值排名是2。再将F2中的公式复制到剪贴板,选中F3、 F4单元格按Ctrl+V,就能计算出其余两个车间的产值排名为3和1。如果B1单元格中输入的公式为“=RANK(E2,$E$2:$E$4,1)”,则计算出的序数按升序方式排列,即2、1和3。
需要注意的是:相同数值用RANK函数计算得到的序数(名次)相同,但会导致后续数字的序数空缺。假如上例中F2单元格存放的数值与 F3相同,则按本法计算出的排名分别是3、3和1(降序时)。
2.COUNTIF函数
COUNTIF函数可以统计某一区域中符合条件的单元格数目,它的语法为COUNTIF(range,criteria)。其中range为参与统计的单元格区域,criteria是以数字、表达式或文本形式定义的条件。其中数字可以直接写入,表达式和文本必须加引号。
仍以图1为例,F2单元格内输入的公式为“=COUNTIF($E$2:$E$4, ">"&E2)+
此公式的计算过程是这样的:首先根据E2单元格内的数值,在连接符&的作用下产生一个逻辑表达式,即“>
COUNTIF函数计算出引用区域内符合条件的单元格数量,该结果加一即可得到该数值的名次。很显然,利用上述方法得到的是降序排列的名次,对重复数据计算得到的结果与RANK函数相同。
3.IF函数
Excel自身带有排序功能,可使数据以降序或升序方式重新排列。如果将它与IF函数结合,可以计算出没有空缺的排名。以图1中E2、E3、
E4单元格的产值排序为例,具体做法是:选中E2单元格,根据排序需要,单击Excel工具栏中的“降序排序”或“升序排序”按钮,即可使工作
表中的所有数据按要求重新排列。
假如数据是按产值由大到小(降序)排列的,而您又想赋予每个车间从1到n(n为自然数)的排名。可以在G2单元格中输入1,然后在G3单元格中输入公式“=IF(E3=E2, G3,G3+1)”,只要将公式复制到G4等单元格,就可以计算出其他车间的产值排名。
二、文本排序
选举等场合需要按姓氏笔划为文本排序, Excel提供了比较好的解决办法。如果您要将图1数据表按车间名称的笔划排序,可以使用以下方法: 选中排序关键字所在列(或行)的首个单元格(如图1中的A1),单击Excel“数据”菜单下的“排序”命令,再单击其中的“选项”按钮。选中“排序选项”对话框“方法”下的“笔画排序”,再根据数据排列方向选择“按行排序”或“按列排序”,“确定”后回到“排序”对话框(图2)。如果您的数据带有标题行(如图1中的“单位”之类),则应选中“有标题行”(反之不选),然后打开“主要关键字”下拉列表,选择其中的“单位”,选中排序方式(“升序”或“降序”)后“确定”,表中的所有数据就会据此重新排列。
此法稍加变通即可用于“第一名”、“第二名”等文本排序,请读者自行摸索。
三、自定义排序
如果您要求Excel按照“金工车间”、“铸造车间”和“维修车间”的特定顺序重排工作表数据,前面介绍的几种方法就无能为力了。这类问题可以用定义排序规则的方法解决:首先单击Excel“工具”菜单下的“选项”命令,打开“选项”对话框中的“自定义序列”选项卡(图3)。选中左边“自定义序列”下的“新序列”,光标就会在右边的“输入序列”框内闪动,您就可以输入“金工车间”、“铸造车间”等自定义序列了,输入的每个序列之间要用英文逗号分隔,或者每输入一个序列就敲回车。如果序列已经存在于工作表中,可以选中序列所在的单元格区域单击“导入”,这些序列就会被自动加入“输入序列”框。无论采用以上哪种方法,单击“添加”按钮即可将序列放入“自定义序列”中备用(图3)。
使用排序规则排序的具体方法与笔划排序很相似,只是您要打开“排序选项”对话框中的“自定义排序次序”下拉列表,选中前面定义的排序规则,其他选项保持不动。回到“排序”对话框后根据需要选择“升序”或“降序”,“确定”后即可完成数据的自定义排序。
需要说明的是: 显示在“自定义序列”选项卡中的序列(如一、二、三等),均可按以上方法参与排序,请读者注意Excel提供的自定义序列类型。
了解Excel公式的错误值
经常用Excel的朋友可能都会遇到一些莫名奇妙的错误值信息:# N/A!、#VALUE!、#DIV/O!等等,出现这些错误的原因有很多种,如果
公式不能计算正确结果,Excel将显示一个错误值,例如,在需要数字的公式中使用文本、删除了被公式引用的单元格,或者使用了宽度不足以
显示结果的单元格。以下是几种常见的错误及其解决方法。
1.#####!
原因:如果单元格所含的数字、日期或时间比单元格宽,或者单元格的日期时间公式产生了一个负值,就会产生#####!错误。
解决方法:如果单元格所含的数字、日期或时间比单元格宽,可以通过拖动列表之间的宽度来修改列宽。如果使用的是1900年的日期系统,那
么Excel中的日期和时间必须为正值,用较早的日期或者时间值减去较晚的日期或者时间值就会导致#####!错误。如果公式正确,也可以将单
元格的格式改为非日期和时间型来显示该值。
2.#VALUE!
当使用错误的参数或运算对象类型时,或者当公式自动更正功能不能更正公式时,将产生错误值#VALUE!。
原因一:在需要数字或逻辑值时输入了文本,Excel不能将文本转换为正确的数据类型。
解决方法:确认公式或函数所需的运算符或参数正确,并且公式引用的单元格中包含有效的数值。例如:如果单元格A1包含一个数字,单元格
A2包含文本"学籍",则公式"=A1+A2"将返回错误值#VALUE!。可以用SUM工作表函数将这两个值相加(SUM函数忽略文本):=SUM(A1:A2)。
原因二:将单元格引用、公式或函数作为数组常量输入。
解决方法:确认数组常量不是单元格引用、公式或函数。
原因三:赋予需要单一数值的运算符或函数一个数值区。
解决方法:将数值区域改为单一数值。修改数值区域,使其包含公式所在的数据行或列。
3.#DIV/O!
当公式被零除时,将会产生错误值#DIV/O!。
原因一:在公式中,除数使用了指向空单元格或包含零值单元格的单元格引用(在Excel中如果运算对象是空白单元格,Excel将此空值当作零
值)。
解决方法:修改单元格引用,或者在用作除数的单元格中输入不为零的值。
原因二:输入的公式中包含明显的除数零,例如:=5/0。
解决方法:将零改为非零值。
4.#NAME?
在公式中使用了Excel不能识别的文本时将产生错误值#NAME?。
原因一:删除了公式中使用的名称,或者使用了不存在的名称。
解决方法:确认使用的名称确实存在。选择菜单"插入"|"名称"|"定义"命令,如果所需名称没有被列出,请使用"定义"命令添加相应的名称。
原因二:名称的拼写错误。
解决方法:修改拼写错误的名称。
原因三:在公式中使用标志。
解决方法:选择菜单中"工具"|"选项"命令,打开"选项"对话框,然后单击"重新计算"标签,在"工作薄选项"下,选中"接受公式标志"复选框。
原因四:在公式中输入文本时没有使用双引号。
解决方法:Excel将其解释为名称,而不理会用户准备将其用作文本的想法,将公式中的文本括在双引号中。例如:下面的公式将一段文本"总
计:"和单元格B50中的数值合并在一起:="总计:"&B50
原因五:在区域的引用中缺少冒号。
解决方法:确认公式中,使用的所有区域引用都使用冒号。例如:SUM(A2:B34)。
5.#N/A
原因:当在函数或公式中没有可用数值时,将产生错误值#N/A。
解决方法:如果工作表中某些单元格暂时没有数值,请在这些单元格中输入"#N/A",公式在引用这些单元格时,将不进行数值计算,而是返回
#N/A。
6.#REF!
当单元格引用无效时将产生错误值#REF!。
原因:删除了由其他公式引用的单元格,或将移动单元格粘贴到由其他公式引用的单元格中。
解决方法:更改公式或者在删除或粘贴单元格之后,立即单击"撤消"按钮,以恢复工作表中的单元格。
7.#NUM!
当公式或函数中某个数字有问题时将产生错误值#NUM!。
原因一:在需要数字参数的函数中使用了不能接受的参数。
解决方法:确认函数中使用的参数类型正确无误。
原因二:使用了迭代计算的工作表函数,例如:IRR或RATE,并且函数不能产生有效的结果。
解决方法:为工作表函数使用不同的初始值。
原因三:由公式产生的数字太大或太小,Excel不能表示。
解决方法:修改公式,使其结果在有效数字范围之间。
8.#NULL!
当试图为两个并不相交的区域指定交叉点时将产生错误值#NULL!。
原因:使用了不正确的区域运算符或不正确的单元格引用。
解决方法:如果要引用两个不相交的区域,请使用联合运算符逗号(,)。公式要对两个区域求和,请确认在引用这两个区域时,使用逗号。如:SUM(A1:A13,D12:D23)。如果没有使用逗号,Excel将试图对同时属于两个区域的单元格求和,但是由于A1:A13和D12:D23并不相交,所以他们没有共同的单元格。