一般IT行业中,需要排序网络中的IP地址的操作很常见。下面提供在Excel中排序IP地址的方法:

1.在Excel中选择好IP地址的列,这里以IP地址全在A列,并且从第一行记录A1行进行排序。

2.可以在B1里面输入以下的公式(要保证B列的单元格内是数值类型,并且不需要保留小数):

=SUMPRODUCT(MID(SUBSTITUTE(A1,".",REPT(" ",20)),{1,21,41,61},20)*10^{9,6,3,0})

3.解释函数关系如下:

函数关系:

REPT(" ",20)

SUBSTITUTE(A8,".",REPT(" ",20))

MID(SUBSTITUTE(A8,".",REPT(" ",20)),{1,21,41,61},20)

SUMPRODUCT(MID(SUBSTITUTE(A8,".",REPT(" ",20)),{1,21,41,61},20)*10^{9,6,3,0})

(1):REPT(text,number_times)

根据指定次数重复文本,可用REPT在一个单元格中重复填写一个文本字符串。

REPT(" ",20);

重复填写20次空格。

(2):SUBSTITUTE(text,old_text,new_text,[instance_num])

将字符串中的部分字符串以新字符串替换。

TEXT:A2

Old_text:"."

New_text:REPT(" ",20);

把数值后面的点符号,用20个空格替换。

这个作用是把IP地址192.168.10.6中的3个点分隔符换成192 168 10 6.

(3):MID(text,start_num,num_chars)

作用:从文本字符串中指定的起始位置返回指定长度的字符。

text:准备从中提取字符串的文本字符串。

分别返回192 168 10 6.

(4):SUMPRODUCT(array1,[array2],array[3],...)

作用:返回相应的数组或者区域乘积的和。

即返回从文本字符串中提取出的数值,分别乘以10的9次幂、10的6次幂、10的3次幂,10的0次幂乘积的和。

5.这样得到192.168.10.6的IP地址转换成了数值192168010006,然后鼠标拖动到B列末尾,和A列要排序的IP地址平行的行。

6.就会得到A列的IP地址对应的数值,这时只要选择B列--开始--排序和筛选--升序/降序--扩展选定区域--确定,就会按照升序/降序的顺序排列好A列的IP地址了。

星光不问赶路人,皇天不负有心人!