EXCEL中如何把IP地址批量转换成十进制数字,如下图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL中如何把IP地址批量转换成十进制数字,如下图相关的知识,希望对你有一定的参考价值。

参考技术A 用这个公式吧
=LEFT(a1,FIND(".",a1)-1)*256^3+mid(a1,FIND(".",a1)+1,FIND(".",a1,FIND(".",a1)+1)-FIND(".",a1)-1)*256^2+mid(a1,FIND(".",a1,FIND(".",a1)+1)+1,FIND(".",a1,FIND(".",a1,FIND(".",a1)+1)+1)-FIND(".",a1,FIND(".",a1)+1)-1)*256+right(a1,len(a1)-FIND(".",a1,FIND(".",a1,FIND(".",a1)+1)+1))追问

太感谢你啦,高手~还想追问个问题,如下:C列=A列+“2“的(32-B列)次幂-1,这个公式怎么写啊,求教啦~

本回答被提问者采纳

python百例 --- ip地址与10进制的转换

1 - ip地址与10进制数的转换

  • 当我们ping数字2130706433时,从127.0.0.1返回结果。

  • IP地址是个32位的二进制数,表示成点分10进制,只是为了方便,如果把这32为二进制数转换成10进制数,计算机也是认识的。

  • 2130706433(10进制)== 1111111000000000000000000000001(二进制)

  • 为了更好的学习使用Python,那就编写一个将10进制数转成2进制的代码吧。

    • 思路:

      1. 仔细分析,IP地址的四个10进制数,实际上就是256进制

      2. 10进制数除以256,余数就是IP地址右侧的数字,商继续除256即可

        >>> divmod(2130706433,256)
        (8323072, 1)                # 1
        >>> divmod(8323072,256)
        (32512, 0)                    # 0
        >>> divmod(32512,256)
        (127, 0)                    # 0
        >>> divmod(127,256)
        (0, 127)                    # 127
        127.0.0.1

 

  • 具体代码如下:

    #!/usr/local/bin/python3
    def int2ip(digit):
        result = []
        for i in range(4):
            digit, mod = divmod(digit, 256)
            result.insert(0,mod)
        return ..join(map(str,result))
    if __name__ == __main__:
        print(int2ip(2130706433))
  • 匿名函数和map的使用方法和介绍

    #!/usr/local/bin/python3
    from random import randint
    ?
    def func(x):
        return x * 2 + 1
    ?
    if __name__ == __main__:
        alist = [randint(1,100) for i in range(10)]
        print(alist)
        # map将第二个参数中的每一项交给func函数进行加工,保留加工后的结果
        result = map(func, alist)   # 使用一个常规函数最为参数
        result2 = map(lambda x: x * 2 + 1, alist)   # 使用匿名函数作为参数
        print(list(result))
        print(list(result2)) 

     

以上是关于EXCEL中如何把IP地址批量转换成十进制数字,如下图的主要内容,如果未能解决你的问题,请参考以下文章

excel批量把文本转换成HTML格式?

excel 怎么把IP地址转换成000.000.000.000的格式

在Excel中如何将数字格式批量转换为文本格式,并且保留二位小数?

excel 怎么把转换成整形的ip还原成原来的ip地址

十进制数字如何转换成IP地址?

如何把文本转化为数字