乐于分享
好东西不私藏

Excel 整列的单元格都有文字和数字混合,如何按数字升序排序?

Excel 整列的单元格都有文字和数字混合,如何按数字升序排序?

请在微信客户端打开

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必“设为星标”哦!!!

点击任意文章上方的“☆星标”即可。

解答网友提问:单元格内容由文本+数字组成,如何在不改变数据表的前提下,按数字排序?

这种需求一听就是哪个领导天马行空的要求,没关系,当好打工人,领导要啥就是啥。

案例:

将下图 1 中的 A 列根据单元格中的数字升序排序,效果如下图 2 所示。

解决方案 1:

1. 在 B2 单元格中输入以下公式 –> 回车:

=SORTBY(A2:A21,–RIGHT(A2:A21,LEN(A2:A21)-(LENB(A2:A21)-LEN(A2:A21))))

如果这个公式让大家理解困难,那我先拆解并简化一下,你们就知道在说啥了。

在 C2 单元格中输入以下公式 –> 下拉复制公式:

=RIGHT(A2,LEN(A2)-(LENB(A2)-LEN(A2)))

公式释义:

  • LENB(A2)-LEN(A2):将 A2 单元格的字节数减去字符数,就得到文本数;因为文本占 2 个字节;

  • LEN(A2)-…:用总字符数减去文本数,就是数字个数;

  • RIGHT(A2,…):从 A2 单元格中从右向左提取出数字个数,即提取所有数字

那现在再回过头看 B 列的公式:

  • 将 RIGHT 函数中的 A2 单元格全都变成了 B 列的内容区域,形成数组;

  • –RIGHT(…):– 的目的是将提取出来的文本数字转换为数值格式,这样才能排序;

  • SORTBY(A2:A21,…):将 A2:A21 根据第二个参数中的数值升序排序

解决方案 2:

如果没有 365 函数,那么还是用 PQ 最省事。

1. 选中数据表的任意单元格 –> 选择任务栏的“数据”–>“来自表格/区域”

2. 在弹出的对话框中保留默认设置 –> 点击“确定”

表格已经上传至 Power Query。

3. 选中列 –> 右键单击 –> 在弹出的菜单中选择“重复列”

4. 选中第二列 –> 选择任务栏的“主页”–>“拆分列”–>“按照从非数字到数字的转换”

5. 将最后一列的格式修改为整数。

6. 将最后一列按升序排序。

7. 删除最后两列。

8. 选择工具栏的“主页”–>“关闭并上载”–>“关闭并上载至”

9. 在弹出的对话框中选择“表”–> 选择“现有工作表”及所需上传至的位置 –> 点击“确定”

右侧绿色的表格就是排序结果。

转发、点赞、在看也是爱!
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Excel 整列的单元格都有文字和数字混合,如何按数字升序排序?

猜你喜欢

  • 暂无文章