ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 162|回复: 10

[求助] WPS 数据自动降序并标明序号

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-4-29 15:02 | 显示全部楼层 |阅读模式
求求大佬们教教我 如果EXCEL可以实现也行帮忙编辑个公式

测试.zip

10.8 KB, 下载次数: 26

TA的精华主题

TA的得分主题

发表于 2024-4-29 15:24 | 显示全部楼层
要在WPS中实现数据自动降序排列并标明序号,可以按照以下步骤操作:
一、数据降序排列
  • 打开WPS表格,并选中需要进行降序排列的数据列。
  • 点击“数据”菜单,选择“排序”,然后选择“降序”。这样,选中的数据就会按照从大到小的顺序进行排列。
二、标明序号
在数据降序排列后,我们可以通过WPS的内置功能或者手动方式为数据添加序号。
方法一:使用WPS内置功能
  • 选中需要添加序号的列或行。
  • 在WPS的“开始”选项卡中,找到“编号”功能,选择合适的编号格式,即可自动生成序号。
方法二:手动添加序号
  • 在数据列旁边插入一列,用于填写序号。
  • 手动输入序号,可以按照从1开始的顺序填写,或者根据需要自定义序号。
注意事项
  • 在进行排序前,请确保已经备份了原始数据,以防排序过程中发生数据丢失或错乱。
  • 如果数据中包含有合并的单元格,排序时可能会出现问题,建议先取消合并再进行排序。
  • 如果数据量较大,排序操作可能会消耗一定的时间,请耐心等待。
通过以上步骤,你就可以在WPS中实现数据的自动降序排列并标明序号了。

成长作文网:http://www.sjzwndj.cn

成长作文网:http://www.sjzwndj.cn

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-29 15:27 | 显示全部楼层
哥 你这个 办法是可以的 但是我需要的是我改变G列的数 然后它自动重新 降序 排序 然后在H列重新自动变更序号这个 主要是想省人力 然后 我看到过 有人这么做的 这个是可以实现的

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-29 15:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
sqxzgg 发表于 2024-4-29 15:24
要在WPS中实现数据自动降序排列并标明序号,可以按照以下步骤操作:一、数据降序排列
  • 打开WPS表格,并 ...

  • 哥 你这个 办法是可以的 但是我需要的是我改变G列的数 然后它自动重新 降序 排序 然后在H列重新自动变更序号这个 主要是想省人力 然后 我看到过 有人这么做的 这个是可以实现的

    TA的精华主题

    TA的得分主题

    发表于 2024-4-29 15:31 | 显示全部楼层
    本帖最后由 miaojohn45 于 2024-4-29 15:50 编辑
    xsxiaopingguo 发表于 2024-4-29 15:27
    哥 你这个 办法是可以的 但是我需要的是我改变G列的数 然后它自动重新 降序 排序 然后在H列重新自动变更序 ...

    1. 用宏录制功能录制一个排序代码。
    2. 把此代码复制到工作表事件里,当检测到G列数据修改后自动执行工作表事件。

    image.png


    3. 序号公式:
    image.png

    TA的精华主题

    TA的得分主题

    发表于 2024-4-29 15:36 | 显示全部楼层
    [广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
    去论坛VBA板块发布,会有人给你写代码的

    TA的精华主题

    TA的得分主题

    发表于 2024-4-29 15:40 | 显示全部楼层
    触发方式   Private Sub
    触发范围   A1:A20
    触发效果  从小到大排列数据

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Me.Range("A1:A20")) Is Nothing Then
            Application.EnableEvents = False
            Me.Range("A1:A20").Sort Key1:=Me.Range("A1"), Order1:=xlAscending, Header:=xlNo
            Application.EnableEvents = True
        End If
    End Sub

    TA的精华主题

    TA的得分主题

     楼主| 发表于 2024-4-29 15:47 | 显示全部楼层
    miaojohn45 发表于 2024-4-29 15:31
    1. 用宏录制功能录制一个排序代码。
    2. 把此代码复制到工作表事件里,当检测到G列数据修改后自动执行工 ...

    好的好的感谢 大腿

    TA的精华主题

    TA的得分主题

     楼主| 发表于 2024-4-29 15:48 | 显示全部楼层
    [广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
    cnmanljl 发表于 2024-4-29 15:36
    去论坛VBA板块发布,会有人给你写代码的

    谢谢我去试试

    TA的精华主题

    TA的得分主题

    发表于 2024-4-29 15:53 | 显示全部楼层
    本帖最后由 mykitami 于 2024-4-29 15:55 编辑

    首先,你的这个要求是可以实现的,但不能在原始数据上去实现,需要在另外的区域去实现。
    比如:在Sheet2上实现。
    你想一下,如果在原来的G列上,每改一个数,顺序马上变了,刚才输入的数都不知道跑那里去了。
    另外:
    对于排序,需要做出具体的要求:
    比如:相同的值怎么排,谁在前谁在后?
    还有是西式排名还是中式排名?

    我分别按中式、西式排名给个范例,相同的值按原始出现顺序排名
    中式排名
    Sheet2!A1单元格公式
    =LET(a,SORT(Sheet1!A2:G38,7,-1),VSTACK(Sheet1!A1:H1,HSTACK(a,MATCH(TAKE(a,,-1),UNIQUE(TAKE(a,,-1)),))))

    西式排名
    Sheet3!A1单元格公式
    =LET(a,SORT(Sheet1!A2:G38,7,-1),VSTACK(Sheet1!A1:H1,HSTACK(a,MATCH(TAKE(a,,-1),TAKE(a,,-1),))))

    如果就想在原始数据上排名,就要用到VBA了,公式做不到。

    测试文件-排名.zip

    15.25 KB, 下载次数: 5

    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    手机版|关于我们|联系我们|ExcelHome

    GMT+8, 2024-5-18 00:38 , Processed in 0.039611 second(s), 10 queries , Gzip On, MemCache On.

    Powered by Discuz! X3.4

    © 1999-2023 Wooffice Inc.

    沪公网安备 31011702000001号 沪ICP备11019229号-2

    本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

    快速回复 返回顶部 返回列表