找回密码
 立即注册
搜索

根据IP地址和掩码计算IP段的范围

5
回复
1227
查看
[复制链接]

2

主题

9

帖子

2

幻币

初入江湖

Rank: 1

积分
13
2021-12-1 12:20:00 显示全部楼层 |阅读模式
由于工作关系需要根据IP地址和掩码计算IP段的第一个IP和最后一个IP,由于EXCEL如果仅通过函数似乎没法进行二进制的与这种逻辑,所以最后是将IP地址转换成二进制后当作字符串来操作。假设提供的IP地址为:192.168.43.239/18
通过字符串查找,可以分别得到A.B.C.D这四个数字,以及掩码M:
fc9edf1e0a05013a4fe3a9ab669481ee.png
然后再根据掩码位数分别计算ABCD四个数字对应的网络地址:
A: IF($B2>8,C2,BIN2DEC(LEFT(DEC2BIN(C2,8),$B2)*10^(8-$B2)))
B: IF($B2>16,D2,IF($B224,E2,IF($B232,"ERROR MASK",IF($B2

fca6f2d76da6d0dd47727b02cdb79742.png

fca6f2d76da6d0dd47727b02cdb79742.png


image.png

image.png



IP地址段范围计算.zip (7.71 KB, 下载次数: 44)
PPT学习论坛
回复

使用道具 举报

0

主题

8

帖子

0

幻币

初入江湖

Rank: 1

积分
8
2021-12-7 08:00:03 显示全部楼层
这规则听得云山雾罩而且感觉公式写得很复杂,完全可以很简化的
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

8

帖子

-1

幻币

初入江湖

Rank: 1

积分
6
2022-1-5 04:09:32 显示全部楼层
嗯,我也觉得公式有点复杂了,不知道还能不能再简单一点。需求其实很简单,就是二进制下两个数进行比较,例如,IP是11011101,掩码是11110000,那网络地址就是11010000。我是根据掩码1的个数,从11011101左边取数,剩下的补0。
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

幻币

初入江湖

Rank: 1

积分
8
2022-2-3 06:16:55 显示全部楼层
45e5269343df1207daaf22b50d428d32.png
百度了下,大概这样计算出来的,没有优化公式,理解计算过程
IP地址段范围计算.zip (12.06 KB, 下载次数: 87)
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

-1

幻币

初入江湖

Rank: 1

积分
1
2022-2-11 03:42:33 显示全部楼层
是的,我就只是在一个单元格上实现了这个计算结果而已。
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

5

帖子

-2

幻币

初入江湖

Rank: 1

积分
1
2022-2-17 17:09:40 显示全部楼层
虽然看不懂,但不妨我点赞
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册