当前位置:首页经验技巧Excel经验excel入门

excel中的汉字如何排序

2026-01-11 13:05:21

1.Excel单元格中数字和汉字混合在一起如何按照数字的大小排序?急 爱

没错,需要添加辅助列来实现,方法就是在B列提取出房号,考虑到房号在单元格的位置可能不是第3位开始,即名字可能是3个字,则可能是从第4位开始,这样取房号需用以下公式:在B列B1维护公式:=LOOKUP(E9 307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))点B1右下角出现的“ ”按住左键不放往下拉(实现公式复制),当然也可直接复制。

此时B1=207,B2=209,B3=210再按B列进行排序就行了。

2.在excel中,如何将单元格内的汉字进行排序

用VB也比较简单的:对指定单元格的内容按字符ascii码大小进行排序(对汉字来说就是按声母的顺序排序)。

在工作表页面按ALT+F11 进入VBA编辑窗口,点菜单“插入”->;“模块”,粘贴以下代码到光标位置,保存并关闭代码窗口。

该代码是一个自定义函数, 用法跟excel函数基本相同,比如要排序A1单元格的内容就在A2单元格输入=px01(A1)。

以后在打开文件时要将宏的安全性设置为中(菜单“工具”->;“宏”->;“安全性”)并启用宏。

代码如下:

Function px01(str As String)

ReDim arr(Len(str) - 1)

For i = 1 To Len(str)

arr(i - 1) = Mid(str, i, 1)

Next

For i = LBound(arr) To UBound(arr) - 1

For ii = i + 1 To UBound(arr)

If Asc(arr(i)) > Asc(arr(ii)) Then

temp = arr(ii)

arr(ii) = arr(i)

arr(i) = temp

End If

Next ii

Next i

px01 = Replace(Join(arr), " ", "")

End Function

3.excle如何在有文字、数字合大的单元格大小排序

这类情况用常规的排序是达不到要求的,并且所述单元格字符串中除能看到的内容之外,还可能包括了看不见的空字符(比如在输入结束后又打了空格键而构成若干个空字符,这些不良影响都会被排序功能计算在内出现错排).建议:在需要排序的列后加1辅助计算列,平时最好把辅助列隐藏,辅助列的表头要加标志以便排序用: 比如:需要排序的列为A,而行标志放在A1,内容放在A2及以下,则在B列同行输入并向下拖拉复制公式(要=A列的行数),同时在辅助B列的头上输入比如辅助列等字段以作排用的标识.其实真正排序的是B列.: =MID(A2,IF(ISERROR(FIND( ,A2)),LEN(A2)+1,FIND( ,A2))⑶,3)*1 这个公式会把字符串中的后3位数字调出来作为排序的根据.但这个调出来的字符串本质还是文本.所以要*1把它转化为数字格式(所有文本类型的数字都可以*1转换为数值格式以便计算).是不含空格, 是含空格,输入公式时要注意不要弄错. 这个公式中包括了对是不是有空字符串的不同处理(IF 函数),复制后把这公式中的列标与行号改到符合原表数据对应的就好了.做完了以上的要求以后,就能够用排序功能了.但是排序的列标志不能是A列而是B列了.。


免责声明:本站信息来自网络收集及网友投稿,仅供参考,如果有错误请反馈给我们更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任,谢谢您的合作。
版权所有:五学知识网 Copyright © 2015-2026 www.z8000w.com. All Rights Reserved .