因为ip地址是一个文本,没办法直接用Excel排序。比如:192.168.0.100
所以要对ip地址的排序,需要进行一些处理,其实是对ip地址的最后一位进行排序。
思路:
- 1.用公式获取ip地址的最后一部分,比如ip地址192.168.0.22,获取到22;
- 2.以ip地址最后一部分的列为主要关键字进行自定义排序;
- 3.删除辅助列,就ok了。
获取ip地址的最后一部分
1.用SUBSTITUTE函数把ip地址里的最后一个点(.)替换成@符号
这里替换成啥符号都行,只要不是点。主要方便用查找的函数搜索的时候,准确找到最后一部分的起始位置。
SUBSTITUTE函数:替换指定文本,在text字符串中用 new_text 替换 old_text。
语法:SUBSTITUTE(text, old_text, new_text, [instance_num])
- instance_num:可选。指定要将第几个old_text 替换为 new_text。否则是全部替换。
把A2单元格中的字符串中的第3个点(.)替换成@号。公式:
1 | =SUBSTITUTE(A2,".","@",3) |
返回结果如:10.95.22@44
2.用FIND函数找到@号的位置
我们要获取的ip地址最后一部分的起始位置就是@符号的后1位。
FIND函数:查找在within_text字符串中,第1个出现find_text字符串的起始位置的值,该值从within_text的第1个字符算起。
语法:FIND(find_text, within_text, [start_num])
- start_num:可选。指定find_text中开始进行查找within_text字符串的位置,默认是1。
公式=FIND("@","192.168.0@44")
返回的结果是:10
把A2单元格中的字符串中的第3个点(.)替换成@号后,获取@符号的位置。结合起来,公式:
1 | =FIND("@",SUBSTITUTE(A2,".","@",3)) |
3.用MID函数截取ip地址最后部分
MID函数:截取text字符串,从中间截取,可以选择开始和结束的位置。
语法:MID(text, start_num, num_chars)
- num_chars:取几个。
公式=MID("192.168.0@44",10+1,3)
返回的结果是:44(文本字符串)
把A2单元格中的ip地址最后一部分截取出来。结合前面的公式,完整公式为:
1 | =MID(A2,FIND("@",SUBSTITUTE(A2,".","@",3))+1,3) |
效果如图:
自定义排序
以ip地址最后一部分为关键字进行自定义排序。
因为刚才取出来的ip地址的最后一部分这一列(B列)是文本的,所以先复制一列出来,粘贴的时候只粘贴文本,然后格式全部一起转换成数字,就有了C列。
最后,以C列为关键字进行自定义排序。
最后,把不需要的辅助列都删除即可。
PS.Excel中常用函数应用介绍:Post not found: 【不断更新系列】Excel常用函数
- 本文标题:Excel中对ip地址进行排序
- 本文作者:HDUZN
- 创建时间:2022-06-04 16:29:31
- 本文链接:http://hduzn.cn/2022/06/04/Excel中对ip地址进行排序/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!