Excel不改变数据位置进行排序的两种方法

2022-04-08 04:00:07   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《Excel不改变数据位置进行排序的两种方法》,欢迎阅读!
排序,位置,改变,进行,方法

不改变数据位置进行排序的两种方法

宝安中学初中部 熊伟



以前,有位朋友问我,不改变数据位置怎么让名次自动显示出来?我说这个容易啊,等会我写好了就给你。

这个用宏来做当然容易了,看这个数在这一列中排序第几,把序数写进名次那一列就行了。

看下图:



CTRM作快捷键。再看一下宏代码:



这是一个降序排列的宏,对于并列名次和空值也能很好地处理。


写完之后,心里还沾沾自喜,认为自己对这个问题解决得很不错了。

前两天在网上逛,看到了一个Excel函数,能很好地处理这个问题,才明白自己不过是只井底之蛙而已。

看下图:



函数名称:rank(Number,ref,order) 它有三个参数:

第一个参数Number就是要排序的那个数字;第二个参数Ref就是要排序的数字在哪个范围内排序,所以它应该是一个数据范围;第三个参数Order是升序排列还是降序排列,如果为0或忽略,降序排列,为非0,则升序排列。

在上面在参数中,有一个特别要强调的参数Ref,一般要排序的数据较多,我们会采用填充的方式把名次那一列填完,在下拉的过程中,地址范围有可能发生变化。

上例中,如果这样写函数: =rankB2,B2:B15,0

当你下拉填充的时候,下一个单元格就会变成: =rank(B3,B3:B16,0)

这时候排序的范围发生变化,结果就不准确了。原因是B2:B15是一个相对引用,填充的时候地址范围就会自动产生变化。

因此,参数Ref的地址范围应该中一个绝对引用的地址。把B2:B15改成$B$2:$B$15当你填充的时候,地址就不会发生变化了。

这个函数与我上面的宏比较起来,有一个缺点:不能对空值进行排序。上图的第12行,要排序的值显示的是#N/A这就表示rank()函数的第一个参数是不能为空值的。我想这一点对用户来说,应该不重要吧。


本文来源:https://www.dywdw.cn/3ff00aed88d63186bceb19e8b8f67c1cfad6ee0c.html

相关推荐
推荐阅读