利用EXCEL函数进行特殊效果的排序

时间:2022-10-06 01:19:32

利用EXCEL函数进行特殊效果的排序

摘要:排序是EXCEL的常用功能,函数是EXCEL中最突出、最有效的工具,合理使用函数、特别是组合式的使用函数,可以进行一些特殊要求的排序。

关键词:排序方式 EXCEL函数 字符型数据 数值型数据

使用过EXCEL的人对于EXCEL函数已经司空见惯,名目繁多的函数是EXCEL的基石。利用函数可以弥补EXCEL数据处理中的一些“真空”。

问题:图1是一批有关报刊杂志的数据,要求对该批数据按“邮发代号”进行升序排序。由于“邮发代号”呈现数字形式,例如38-140,38代表省份,140代表省内代号。按照人们的习惯希望得到图2的排序结果。

原始处理:使用EXCEL的排序功能,按“邮发代号”升序排序,结果得到图3。显然,图3不是我们想要的结果。

分析图3,很容易找到问题的原因——“邮发代号”(如38-140),是地地道道的字符型数据)。众所周知,字符型数据的排序只能产生图3的结果——除非将“邮发代号”以数值型排序才有可能产生图2的效果。

终于找到了解决问题的方法,在动手之前我们先来看几个函数。

根据以上几个函数,我们按照下列步骤进行操作,如图4所示:

1、首先在表头位置增加“位置”、“长度”、“省份”、“代号”、“数值型省份”,“数值型代号”六项(假设在G—L);

2、利用search()函数算出“邮发代号”(如38-140中“-”的位置;(对于38-140函数为search(“-”,A2),结果为3);

3、再利用len()函数算出每项数据“邮发代号”(如38-140)的字符串长度;(对于38-140函数为len(A2),结果为6);

有了这两项的结果后,再接着进行:

4、在“省份”处输入“=left(A2,G2-1)”,得到字符型的省份,如38-140中的38;

5、在“省内代号”处输入“=right(A2,H2-G2)”,得到字符型的省内代号,如38-140中的140;

这样,我们将“邮发代号”(如38-140)分解成了“省份”(38)和“省内代号”(140),前期的工作基本上告一段落。

6、利用value()函数分别将“省份”和“代号”转换成“数值型省份”和“数值型代号”,即“数值型省份”公式为=value(I2)和“数值型代号”=value(J2)。

7、最后,按照得到的“数值型省份”和“数值型代号”两项进行排序,得到我们想要的最终结果,如图2。

因为计算机中对于数值形式字符型的排序原理,使得我们必须对原来的数据进行重新加工。以上方法对于Access、VF等不同环境同样有效,只不过处理时稍稍有些变化。如VF 中不用增加六项表头,而代之增加六个字段名,使用的函数基本不变。

上一篇:高校二级院系教学档案优化管理体系的构建 下一篇:浅谈心理测验在人力资源招聘中的应用