【Excel】将IP按照IP地址(v4)增长序列排序
Background:
Excel列中,有多个net-block, 将这些net-block按照IP地址(v4)自己的大小从小到大排序。
Idea:
IPv4地址的格式是点分十进制的,也就是说每一个点前的数字都有自己相应的power权值,只要找到这个权值,再将IP地址以“."分开,分别乘以其权值,就可以得到某个IP唯一对应的一个反应其真实大小的十进制值。
Solution:
以下面这几个IP block为例,D2 到 G2是为了去find一个IP网段这种格式中的“.”和“/”,具体的语句,以D2为例就是 = FIND(".",$A2,1),这样就找到了第一个“.”在A2中的位置,G2是“/”在A2中的位置。有了这几个位置信息之后,就可以拿来分割IP地址了。

H2到K2 都是为了显示分割后的IP地址。用到的是MID这个函数,用于返回一个字符串中,特定的位置到特定位置之间的部分。

L1到O1分别是点分十进制分别的每一段的权值。以10.15.101.0为例,最后一段0就是自然是0,所以权值为1,倒数第二段101,权值应该是2的8次方256,以此类推,倒数第三段15的权值是2的16次方65536,倒数第四段10的权值就是2的24次方。
然后把H2到K2中每一段的值,分别乘以其权值,然后相加,就可以得到这个IP唯一对应的一个十进制数值。我把这个唯一值放进了P列,也放到了C列,主要是为了一会儿把它复制出去的时候方便。把它不带格式的复制之后,按照从小到大排序就可以了。
我这个图表里不止有这6个数据,整体的效果如下

上边的这个 In Use和Not In Use 是我为了统计是否IP在用加上去的,大家可以忽略。
【Excel】将IP按照IP地址(v4)增长序列排序的更多相关文章
- win10系统绑定本地IP和mac地址
第一步:找到自己的IP和mac地址 1.按着win键+R键,输入cmd(大小写都一样) 2.命令: ipconfig /all #查看所有地址 然后按“回车键” 3.这样 ...
- Java获取本机的IP与MAC地址
有些机器有许多虚拟的网卡,获取IP地址时会出现一些意外,所以需要一些验证: // 获取mac地址 public static String getMacAddress() { try { Enumer ...
- CIDR详解和ip最长地址前缀匹配
1.CIDR是什么 无类域间路由(CIDR)编址方案 摒弃传统的基于类的地址分配方式,允许使用任意长度的地址前缀,有效提高地址空间的利用率. 就是一个ip加一个网络掩码,不过这个掩码不是之前只有3个值 ...
- 几种获取IP 根据IP获取地址的方法 JS,第三方 新浪 网易 腾讯
第一种是利用纯真ip数据库,这个可以在网上找到很多,缺点是更新有点慢. 第二种是利用门户网站的接口 目前已知的有腾讯.新浪.网易.搜狐和Google提供IP地址查询API,但是找得到的只有腾讯.新浪和 ...
- C#实现根据IP 查找真实地址
IPScanner.cs public class IPScanner { private byte[] data; Regex regex = new Regex(@"(((\d{1,2} ...
- 获得Unix/Linux系统中的IP、MAC地址等信息
获得Unix/Linux系统中的IP.MAC地址等信息 中高级 | 2010-07-13 16:03 | 分类:①C语言. Unix/Linux. 网络编程 ②手册 | 4,471 次阅读 ...
- 纯真IP根据IP地址获得地址
<?php /** * 纯真IP根据IP地址获得地址 */ class ipLocation { public $fp; public $firstip; //第一条ip索引的偏移地址 publ ...
- 怎么查询局域网内全部电脑IP和mac地址等信息?
在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...
- 怎么查询局域网内全部电脑IP和mac地址..
在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...
随机推荐
- Python基础之继承与派生
一.什么是继承: 继承是一种创建新的类的方式,新建的类可以继承一个或过个父类,原始类成为基类或超类,新建的类则称为派生类 或子类. 其中,继承又分为:单继承和多继承. class parent_cla ...
- github文档
Video Guides GitHub Help GitHub.com Hello World 10 minute read Intro What is GitHub? Create a Repo ...
- JAVA中的Token
JAVA中的Token 基于Token的身份验证 来源:转载 最近在做项目开始,涉及到服务器与安卓之间的接口开发,在此开发过程中发现了安卓与一般浏览器不同,安卓在每次发送请求的时候并不会带上上一次请求 ...
- Gson解决字段为空是报错的问题
json解析有很多工具,这里说的是最常用也是解析速度最快的Gson,Gson是google家出的,有一个缺点就是无法设置null替换, 我们只能手动的批量替换服务器返回的null了,正常的接口定义的时 ...
- mac pro 基本使用
command+空格 调出搜索框 可以输入:网络,就是配置ip等信息 可以输入:终端,就是命令行窗口 可以输入:触控板,可以调节多点触控版 可以输入:系统偏好设置,进行配置 触控板:多点触控——两个 ...
- Windows系统下安装运行Kafka
一.安装JAVA JDK 1.下载安装包 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151. ...
- 删除TFS中的项目
打开“Team Foundation Server 管理控制台”,选择应用层->团队项目集合->团队项目->点击项目集合名称,最后点击右侧出现的删除按钮
- gitblit删除版本库
Git客户端不提供删除远程仓库的方法,gitblit服务器网页也不支持删除版本仓库.若要强制删除,Windows下可以: 先在任务管理器中停止gitblit进程,然后将gitblit版本库文件夹中将版 ...
- vector的 []
摘自<C++编程剖析> #include <iostream> #include <vector> using namespace std; int main() ...
- Android 开发随笔
1 获取屏幕尺寸 WindowManager wm = this.getWindowManager();viewWidth = wm.getDefaultDisplay().getWidth();vi ...