昊明有态度■从此告别加班。,Excel:1分钟解决复杂的排名表
【昊明有态度■从此告别加班。,Excel:1分钟解决复杂的排名表】用Excel排序做排名榜 , 几乎每个各行各业的人都会用到 , 文员、老师、销售等 。 大多数人做排行榜也都是用手工排序的 , 然后再手动添加排名 。
文章图片
名次要一个个输入 , 因为分数的差距 , 直接拖动复制很容易出错 , 用RANK函数又无法处理分数相同的情况 , 真是费时又费力 , 经常要为此加班 。
文章图片
如果有多个需要排名的数据 , 比如像老师需要对语文、数学、化学等多个科目进行排名 , 而且下次考试 , 又要重新进行排名 , 那真是加班无尽头 。
不过不用担心 , 现在考呀呀就教你一个自动生成排名榜的高效率方法 , 不管数据怎么变 , 排名榜都可以自动更新 , 从此告别加班 , 把时间还给自己和家人 。
文章图片
这个方法 , 只需一分钟就能彻底解决手动排名 。
步骤一
复制下面代码
'示例用代码
FunctionPaiMing(rgAsRange,rg1AsRange)DimiOuterAsLongDimiInnerAsLongDimiLBoundAsLongDimiUBoundAsLongDimiTempAsDoubleDimxAsLong,kAsLongDimarr1,arr2,arr3(1To10000,1To3)arr1=rgarr2=rg1IfUBound(arr1,2)>1Thenarr1=Application.Transpose(arr1)arr2=Application.Transpose(arr2)EndIfiLBound=LBound(arr1)iUBound=UBound(arr1)'冒泡排序ForiOuter=iLBoundToiUBoundForiInner=iLBoundToiUBound-iOuter'比较相邻项Ifarr1(iInner,1)<arr1(iInner+1,1)Then'交换值iTemp=arr1(iInner,1)iTemp1=arr2(iInner,1)arr1(iInner,1)=arr1(iInner+1,1)arr1(iInner+1,1)=iTemparr2(iInner,1)=arr2(iInner+1,1)arr2(iInner+1,1)=iTemp1EndIfNextiInnerNextiOuterForx=1ToUBound(arr1)arr3(x,1)=arr2(x,1)arr3(x,2)=arr1(x,1)k=k+1Ifx>1ThenIfarr1(x,1)=arr1(x-1,1)Thenk=k-1EndIfarr3(x,3)=kNextxPaiMing=arr3EndFunction
步骤二
黏贴代码
工作表标签右键—查看代码—在新打开的VBE窗口插入模块—把代码粘贴到右侧的窗口中 , 然后关闭窗口 。
文章图片
步骤四
当前文件另存为“Excel启用宏的工作簿” , 设置好以后 , 就可以直接用啦 。
文章图片
下面我们再来说说如何使用它:
=PaiMing(数据区域,对应排名指标)
语法说明:
数据区域:要排名的数据区域 , 可以是一列区域 , 也可以是一行区域 。
对应排名指标:和数据一一对应的指标 。
设置方法
以生成语文排名为例 , 选取i3:k8区域(根据排行榜需要选取行数),在编辑栏中输入公式
=PaiMing(B2:B15,A2:A15)
然后按Ctrl+Shift+Enter三键完成输入(输入后公式两边会添加大括号{})
文章图片
用一般的函数公式和数据透视表也可以可以做排行 , 都是比较复杂 , 而且一刷新就没了 , 用这个方法一劳永逸 。 现在你学会了吗?
PS:WPS不支持VBA , “查看代码”显示的是灰色 , 需要下载插件或购买产品 。
推荐阅读
- 喵喵次元伊朗卫队表明态度,来犯必将击落,美国无人机再遭拦截
- 汽车之家从此迷恋上吉利帝豪,真好,性价比很高
- 小伟巴不小怎么战胜猴子带来的恐惧?三招详细解说学会后从此花式秀孙悟空
- 狙击枪@本月中国将完成一件大事,从此不怕GPS关信号,普京也伸出橄榄枝
- 美国:截至5月10日凌晨6时,特朗普态度变了!美国,最坏的结果来了!
- 111从此“颠覆”市场,魅族全新主流旗舰终于出现,价格是否满意?
- 少女观娱内容却让路人态度软了,《青2》段小薇正式致歉!这次不是谈感言
- 不羁小绿绿从此摆脱人体描边大师!,挑战和平精英最细致压枪灵敏度攻略
- 小绿绿975从此摆脱人体描边大师!,挑战和平精英最细致压枪灵敏度教学
- 『违法』四川法院以零容忍态度查处违纪违法干警150名