c++怎么把把排序后的结果保存在不同的文件中。_EXCEL按排名对数据自动排序

本文介绍了如何在Excel中实现员工绩效考核自动排名和排序。通过创建两个表格,使用VLOOKUP函数传递数据,然后录制宏进行降序排序。在遇到并列分数时,通过COUNTIF公式解决排名问题。最后,利用VisualBasic添加事件触发器,实现每次数据更改后自动排序。此方法适用于需要动态更新排名的各类表格操作。
摘要由CSDN通过智能技术生成
这是一个很有趣的案例。任务要求:部门每个人绩效考核评分后,表格根据分数,对所有员工进行自动排名并排序,不是显示名次,而是自动按名次重新排列员工顺序。说的多,不如看看动图化的要求吧,就像这样: a38b7e36080d36d72c04dfcc8ea2dbae.gif看明白了么?其实一开始觉得这个任务是个悖论,一方面我算出来结果,然后根据结果又原位排列顺序,是不合逻辑的。不过我们可以换个思路,我们可以改为2张表,表1用来计算结果,表2接收表1的结果并自动排列,这样就打破了悖论。这段话没看懂也不要紧,文章看完再回来看这一段。 第一步:完成表格版式,及表1数据录入 7a0948cad368c54584dedcdc4ae52d02.png为演示方便,将表1设为静态表,实际工作中加公式就可以改造为动态的。表1的排名其实可以不设置,这里加上是为了看的清楚。将员工姓名复制粘贴到表2,并用VLOOKUP从表1取得分。 b2b1bdd499c48997fbf280436c460ff9.gif 第二步:手动排序,并录制宏 这步很关键。自动排列,首先想到这是代码干的,所以要用到宏或VBA。我们先告诉EXCEL要干什么,即录个片段,让EXCEL自动执行就好。点击录制宏,名字随意。然后选择“得分”和“员工姓名”列,记住这里一定不要反哦,因为我们是要按分数排序。然后点击“数据”选项卡——“降序”,再点击停止录制宏,可以查看代码。

3c2a7f2925ef5661b0cdce8d3ec460f6.gif

c0ca82b57beca6234bdd2958c5fcb73c.png至此,静态的排序操作已经完成了,我们加个排名吧。

fdce7f904f5a6745703a659118ce9e68.png

第三步:让表格动起来这步思想是,每次我操作后,让EXCEL自动做一次自动排序工作,即调用一次“宏2”。点击“开发工具”选项卡——“Visual Basic”,就打开了VBE环境。双击左侧的Sheet1,然后右侧界面第一个下拉框选择“Worksheet”,第二个下拉框选择“SelectionChange”。然后在第一个SUB过程中写上“宏2”,关掉就好。其实前面步骤可以给“宏2”起个好点的名字,比如“自动排名排序”,这里引用的时候就很清楚。

f5cf0121ee3e00bb199130411388a406.gif

下面就是验证操作结果的时候了!再看一遍动图: a38b7e36080d36d72c04dfcc8ea2dbae.gif完成任务!注意保存文件!因为是有代码的,所以需要保存为启用宏的工作簿xlsm格式。 你以为这就结束了?? 等等,发现排名有点问题。好几个并列分,排名怎么不一样?这里我们写个公式就好,E3=COUNTIF($G$3:$G$20,">"&G3)+1,在右侧得分已经排好序的情况下进行计算。公式具体什么意思呢?简单说,就是计算这个区域数字比G3大的次数,因为牛人7已经最高分了,所以COUNTIF的结果就是0,然后加个1,就是排名;同样啊,牛人9也是并列最高分,所以COUNTIF的结果也是0,然后加个1,就实现了并列第一的目的。再到牛人3,有2个分比他高,所以排名就是2+1=3。

eb334ab51d45e6a9c291cec3ea77aa3c.png

保存文件,打完收工。

e7b58d49658c386d21a86b5f593bc348.png

学有用的知识,做有用的表15036abbdecebf13adffb9d5371ff6ac.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值