Hello,大家好,今天跟跟大家分享下如何在Excel中实现自动排序的效果。这个也是一个粉丝提问的问题,我们先来看下效果,当我们更改数据,后面的总分就会自动地发生变化,并且表格会按照从大到小的顺序自动排序。新增数据也是可以实现自动排序的。他的操作也并不难,下面就让我们来一起操作下
一、插入超级表首先我们需要点击表格然后按下快捷键Ctrl+T将表格转换为超级表。我们这个做是为了在新增数据的时候表格也能实现自动排序的效果
二、录制宏首先我们需要明白你想要按照哪一列进行排序,在这里我们想要根据总分这一列数据来排序。
我们点击【开发工具】功能组,随后在其中找到录制宏,会自动跳出录制宏的界面,我们将宏名称设置为【排序】然后点击确定。因为刚才将普通表转换为了超级表,表头字段的右下角是有排序按钮的,我们在这里直接选择降序,就是从大到小的排列数据,排序完毕后点击一下单元格,然后在录制宏中点击停止录制,这样的话宏就录制完毕了
三、引用录制宏紧接着我们在【打开工具】这个功能组中点击【vislua basic】进入vba的编写界面。现在我们是在sheet1这个表格中操作数据,所有需要在这个界面中点击下对应的表格名称,随后在跳出的界面中将通用设置为【worksheet】,然后在右上角选择【change】将多余的代码删除掉,随后在中间输入【排序】就是刚才定义的宏名称,这样的话就设置完毕了,直接关闭掉即可
四、更改样式随后点击表格,在表设计中将表的样式设置为无样式,然后将筛选按钮的对勾去掉,为总分这一列数据添加一个数据条即可,至此就设置完毕了,我们更改数据他就能实现自动排序的效果了
在这里需要注意的是因为利用了录制宏,直接保存的话会提示不能保存vb项目,我们需要将文件另存为可以保存宏的格式,常用的就是xlsm格式。
(此处已添加圈子卡片,请到今日头条客户端查看)以上就是今天分享的方法,怎么样?你学会了吗?
我是Excel从零到一,关注我,持续分享更多Excel技巧
在工作中,经常需要对数据进行排名次。但遇到不同的表格需要用不同的函数和公式,今天对排名公式进行一次全面的总结,同学们一定要收藏起来了!
1、美式排名
2、中国式排名
3、多列排名
4、多表排名
5、组内美式排名
6、组内中国式排名
1、美式排名
有2个数字相同排名第1时,下一个名次直接是3而不是2
=RANK(C3,C:C)
2、中国式排名
有相同数字时,下一个排名连续而不间隔(如下图中E6单元格)
=SUMPRODUCT(($C$3:$C$12>=C3)*(1/COUNTIF(C$3:C$12,C$3:C$12)))
3、多区域排名
多列数字要放在一起排名,需要把区域放在括号内。
=RANK(B3,($B$3:$B$12,$E$3:$E$12,$H$3:$H$12,$K$3:$K$12))
4、多表排名
多个表格排名时,可以直接引用连续的表格
=RANK(B2,'1月:3月'!B:B)
5、组内美式排名
同类项子数据进行排名,而不受其他类型数据影响
=SUMPRODUCT((A$2:A$17=A2)*($B$2:$B$17>B2))+1
6、组内中国式排名
同组子数据进行中国式排名,而不受其他组数据影响
{=COUNT(0/(B2<=(MATCH(A2&B$2:B$34,A$2:A$34&B$2:B$34,)=ROW($1:$33))*B$2:B$34))}
注:数组公式,两边大括号不是手工输入,而且输入公式后按Ctrl+Shift+Enter三键后自动添加的
工作中常用的Excel排名公式就这些了,同学们一定要收藏起来备用。